From: Alexis <flexibeast@gmail.com>
Subject: Re: systemd controversy
Date: Thu, 21 Mar 2024 11:06:11 +1100 [thread overview]
Message-ID: <87msqs78jw.fsf@gmail.com> (raw)
In-Reply-To: utfpsn$1ol4n$9@dont-email.me
Lawrence D'Oliveiro <ldo@nz.invalid> writes:
> systemd service definitions let you state dependencies between services.
> Furthermore, it separates them into ordering dependencies versus
> requirement dependencies.
>
> E.g. an application that uses a MariaDB database requires MariaDB to be
> running before it can be started (ordering + requirement dependency).
>
> An application that can (but doesn’t have to) make use of network services
> should be started after the network stack is up (ordering dependency).
>
> I’m not aware of any other service-management system that provides this
> level of control.
s6 supports both dependency management and readiness notification:
https://skarnet.org/software/s6/overview.html
s6 is the basis for 66, used for service management by Obarun, an
Arch-based distro:
https://wiki.obarun.org/doku.php?id=66intro
When i was running Void as my daily driver, i was using 66 for service
management. (And not runit, which doesn't have true support for
dependencies; kludges are required.)
The s6 site has a page discussing "socket activation":
https://skarnet.org/software/s6/socket-activation.html
OpenRC supports integration with s6, and OpenRC itself provides
dependency management; cf. this excerpt from the openrc-run(8) man
page:
> You should define a depend function for the service so that openrc-run
> will start and stop it in the right order in relation to other
> services. As it's a function it can be very flexible, see the example
> below. Here is a list of the functions you can use in a depend
> function. You simply pass the names of the services you want to add to
> that dependency type to the function, or prefix the names with ! to
> remove them from the dependencies.
>
> need
> The service will attempt to start any services it needs regardless of
> whether they have been added to the runlevel. It will refuse to start
> until all services it needs have started, and it will refuse to stop
> until all services that need it have stopped.
>
> use
> The service will attempt to start any services it uses that have been
> added to the runlevel.
>
> want
> The service will attempt to start any services it wants, regardless of
> whether they have been added to the runlevel.
>
> after
> The service will start after these services and stop before these services.
>
> before
> The service will start before these services and stop
> after these services.
>
> provide
> The service provides this virtual service. For example, named provides
> dns. Note that it is not legal to have a virtual and real service
> with the same name. If you do this, you will receive an error message,
> and you must rename either the real or virtual service.
There's also dinit, which i don't have any direct experience of; here's
a page by the author, comparing it to other systems:
https://github.com/davmac314/dinit/blob/master/doc/COMPARISON
(And of course, since cgroups is distinct from systemd, it can be
utilised by any init / supervision / service management system.)
Alexis.
next prev parent reply other threads:[~2024-03-21 0:06 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-13 14:07 SystemD controversy Nioclás Pól Caileán de Ghloucester
2024-03-13 14:34 ` magardner2010
2024-03-13 16:41 ` Nioclás Pól Caileán de Ghloucester
2024-03-13 19:01 ` Keith Thompson
2024-03-13 21:55 ` systemd controversy Lawrence D'Oliveiro
2024-03-18 17:05 ` streaksu
2024-03-18 19:56 ` Lawrence D'Oliveiro
2024-03-19 0:36 ` streaksu
2024-03-19 2:36 ` Lawrence D'Oliveiro
2024-03-19 3:01 ` streaksu
2024-03-19 10:16 ` Kevin Chadwick
2024-03-19 22:29 ` Lawrence D'Oliveiro
2024-03-20 0:58 ` Kevin Chadwick
2024-03-20 3:17 ` Lawrence D'Oliveiro
2024-03-20 9:56 ` Kevin Chadwick
2024-03-20 23:01 ` Lawrence D'Oliveiro
2024-03-21 0:06 ` Alexis [this message]
2024-03-21 1:50 ` Kevin Chadwick
2024-03-21 2:41 ` Lawrence D'Oliveiro
2024-03-21 0:10 ` Alexis
2024-03-13 20:32 ` SystemD controversy Pascal Obry
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox