Linux: concerns over systemd adoption and Debian's decision to switch [OT]

Stephen Satchell list at satchell.net
Sat Oct 25 17:22:44 UTC 2014


On 10/25/2014 08:12 AM, Jeffrey Ollie wrote:
> If all of the scripts are cut'n'paste copes of each other, wouldn't it
> be better to figure out a way to stop cutting and pasting?  I can't
> count the number of times I've run into problems with my code because
> of that, never mind how many times it's happened in other people's
> code.

I suggest that the corruption and rot was introduced when we left
/etc/inittab as the sole way to run permanent daemons.  We had
telinit(8) already to change run levels, so expanding on telinit would
have been more sensible -- telinit itself to change temporarily things
temporarily (start, stop, restart), and something that modified the
inittab (editor?  script?  GUI?) to make changes that last across boots.

The first change would be to expand the daemon identifier from two
characters to proper labels...but I digress.

The whole rc script thing strikes me as an interim solution that
required a minimum of code changes (graduate student project?) that went
viral.  Bad as it was, it worked.  Duct tape and bailing wire....

Why did we have copy-and-paste for so long?  The answer is in the form
of another question: who was willing to take the time to re-factor the
Sys-V way of doing things?  Was "re-factor" even in the vocabulary in
those days?

Systemd is not a re-factoring.  It's a from-scratch do-over.  What it
does that is good is that it provides dependency capability not
available in the original inittab.  It makes dependency resolution
named-based (named semaphores) instead of number-based, which is what
the Sys-V method used.  The result is far more parallelism in system
start-up than afforded by ethier of the previous methods.

(I can't speak to Upstart -- I've never really understood it, or how to
go from SysV to Upstart.  I even filed a bug on this last point against
Upstart, and saw not even "you stupid ****".  Will it die?)

Much of the heartburn I've been observing isn't about core systemd
itself, or the goals of systemd itself, but about the culture that had
grown around this replacement for the gaggle of shell scripts and the
one-line-per-daemon table.  Like a gun, the weapon doesn't kill people;
it's the operator behind the trigger who is aiming the business end in
bad directions.

Much of the belly-aching has been about ripple effects that are
tangential to systemd itself -- it's unfortunate that these tangents are
tied to systemd, it's been said time and time again "you don't like it,
you can do something about it."  It means you can't use the entire
package "out of the box" without changing more than a set of
configuration files.  My particular bone is NTP substitution -- I'd like
to use my cesium clock on my Stratum 1 time server without having to
spend an afternoon trying to hork everything together.  I'd like for my
Stratum II time server to work "out of the box" with the time servers
*I* select, using the University of Delaware software.

Oh, and I hate binary logs.  Period.  If you can't stand plain text,
then try XML.  At least humans have a *chance* to read it without having
to make fancy reader tools.




More information about the NANOG mailing list