[ale] systemd bad. Very bad.
Solomon Peachy
pizza at shaftnet.org
Thu Jun 29 16:17:27 EDT 2017
On Thu, Jun 29, 2017 at 03:06:12PM -0400, Kyle Brieden wrote:
> In the spirit of giving it a fair shake, Solomon, would you be willing to
> expound upon what you've learned about systemd that makes you appreciate
> (like?) it?
First, I should give a bit of background where I'm coming from. I've
been a sysadmin (unofficial and official) for about two decades. I've
written and maintained cross-distro init scripts that run the gamut from
trivial thigns to stuff had to interact with distros in areas where no
two were the same (ie the network layer).
I've also built and maintained distros meant for severely
resource-constrained embedded systems, having to create a whole set of
init scripts from scratch, plus build tools to enable the system to be
reasonably robust. systemd would have obviated the need for all of
this.
I've had to play some crazy games to capture logging from stdout/stderr
when daemons blurt out crap and crash instead of logging properly. I've
had stuff fail to restart due to leftover detritus on the filesystem but
that wasn't evident until the daemon had already double-forked. I've
had stuff fail to stop because of a stuck process or another process
left lying around. No more relying on pidfiles that could go stale and
lead you to killing the wrong thing. No more surprises due to slight
differences in shell syntax. And let's not even go into daemon
interdependencies, chroot jails, private /tmp, enforcing resource
limits, and other such fun stuff -- I could go on and on.
systemd pulls this under a single, integrated umbrella, focused on
managing the system as a whole. It presents a consistent interface and
configuration and yields vast improvements in operational robustness.
It centralizes _all_ logging, not just what the daemon sends to syslog.
It provides bulletproof code for socket activation, double-forking
recalcitrant daemons, chrooting, resource limitations, and much more --
each requiring only adding a single line to the service configuration.
When it kills stuff, you know it will be dead. When you restart
something, you know everything that depends on it will also get
restarted. When you start something, you know that everything it
depends on will also get started. It provides at-a-glance status of
individual daemons and also the system as a whole, telling you what is
or isn't running, what was supposed to start but didn't.
And that's just from a sysadmin's perspective -- it doesn't even
touch on the the benefits for people putting together distributions or
full desktop users.
I could write far more on this, but that will have to do.
Anyway, back to work.
- Solomon
--
Solomon Peachy pizza at shaftnet dot org
Delray Beach, FL ^^ (email/xmpp) ^^
Quidquid latine dictum sit, altum videtur.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
URL: <http://mail.ale.org/pipermail/ale/attachments/20170629/4fe78625/attachment.sig>
More information about the Ale
mailing list