[TUHS] Version 256 of systemd boasts '42% less Unix philosophy' The Register

Alexis flexibeast at gmail.com
Sun Jun 16 15:48:15 AEST 2024


Grant Taylor via TUHS <tuhs at tuhs.org> writes:

> I'm anti-systemd *cough*Master Control Program*cough* and it's
> associated suite of utilities for many reasons.  But I've come 
> to
> accept that systemd is not just an init system.  It's role of a
> service life cycle manager is a superset of what an init system 
> does.
> It's a relatively new world (at least comparatively).

Indeed: it doesn't just do init, but also _service supervision_ 
(making sure that a service that _should_ be up, _is_ up) and 
_service management_ (enabling, disabling, starting, stopping, 
dependencies, etc.). Hence why phrases like "the init wars" are 
such a misnomer.

As described in the potted history outlined in the "known problems 
with System 5 rc" article i linked to upthread, Sys V rc's issues 
with service supervision and service management have been known 
for decades:

> In 1999, Luke Mewburn worked on replacing the /etc/rc system in 
> NetBSD. netbsd.tech.userlevel mailing list discussions from the 
> time show several criticisms of the System 5 rc and System 5 
> init systems, and encouragement not to repeat their mistakes in 
> the BSD world. The resultant rc.d system was roughly 
> contemporary with Daniel Robbins producing OpenRC, another 
> System 5 rc replacement that replaced the (Bourne/Bourne Again) 
> shell with a different script interpreter, nowadays named 
> /sbin/openrc, that provided a whole lot of standard service 
> management functionality as pre-supplied functions. The NetBSD 
> rc.d system likewise reduced rc.d scripts to a few variable 
> assignments and function calls (in about two thirds of cases). 

The initial release of OpenRC - still Gentoo's 'native' system for 
service management - was in April 2007; the initial release of 
systemd was in March 2010. But although both OpenRC and systemd 
address various pain points of Sys V rc on Linux, systemd has 
_also_ had the backing of an 800-pound gorilla in the Linux world 
- Red Hat - which has _implicitly_ forced its adoption over 
alternatives by distros that don't have the same level of 
resources behind them.

Here's an excerpt from something i wrote on the Gentoo forum back 
in April:

> There's been so much anger and vitriol expressed about 
> systemd. Has that significantly slowed the systemd juggernaut? 
> Not really. Not least because, as in the case of D-Bus, and as 
> in the case of Wayland, it addresses very real issues for 
> significant numbers of people.
>
> For example: unlike on, say, OpenBSD, which has developed a 
> pretty clean shell-script-based service management system, with 
> a 'standard library' in the form of rc.subr(8), the situation on 
> Linux was a mess. Many of the (usually volunteers) who maintain 
> packages for Linux don't want to have to learn the complexities 
> of shell scripting and the subtle issues that can arise, or 
> develop and maintain workarounds for race conditions, and so 
> on. systemd comes along and says: "Hey, with systemd, you'll be 
> able to write service definitions declaratively; you won't need 
> to wrangle shell scripts." That's a pretty attractive 
> proposition to a number of package maintainers, and in the 
> absence of systemd alternatives explicitly providing such an 
> interface - not just saying "oh that could be done on our 
> alternative" - those maintainers are going to be inclined 
> towards systemd, regardless of what design and implementation 
> issues are involved in systemd's approach.
>
> So in wanting to try to ensure that myself and others have 
> choices and alternatives available, i feel that ranting against 
> the incoming tide, like a tech King Cnut, is typically far less 
> effective than actually putting in the work to develop and 
> support those choices and alternatives. 


Alexis.


More information about the TUHS mailing list