
Lennart Sorensen said on Thu, 31 Oct 2024 11:09:01 -0400
On Wed, Oct 30, 2024 at 08:37:57PM -0400, Steve Litt via talk wrote:
*For your use case*, not for some mythical other user, what does systemd give you, besides compatibility with software deliberately doctored to use only systemd, than S6 or Runit? What can S6 or Runit not do, that's actually of value to you?
S6 I had never even heard of. What system uses that and since when?
If you mean which distros come with s6 as the default init, that would be Adélie Linux (https://www.adelielinux.org/), for the last 5 years. If you mean which on which distros can you install and use S6, that would be any distro that inits with anything other than systemd, or has the option to do so. By the way, the Void Linux distro has shipped with runit as the default init system for at least a decade. One more thing needs to be said. The fact that I consider systemd junk doesn't account for my disdain for it. My disdain is that systemd breaks lots of good things that used to work, adds a ton of complexity, adds a whole lot of attack surface, and integrates itself so far into the OS and user software that it's extremely difficult to remove and replace. I'm a Vim guy but I don't go around bashing Emacs because Emacs does nothing to impede my Vim usage. Please remember this paragraph when you read the rest of my responses.
The preceding statement encompasses a whole lot of init systems. Runit, s6, busybox init, Perp, OpenRC, Epoch, Upstart and sysvinit. Are you saying you've tried every one of them and found each wanting?
Yes I have tried some of those and absolutely they all sucked.
^^^^ ^^^ OK, all the ones you tried sucked. I know you never tried s6 because you never heard of it, and I have a feeling you never tried runit either. Those are the two best init systems.
Process monitoring and restarting is absolutely a desirable thing to have and most of them don't do that or at least didn't do it well at the time I tried. Most use shell scripts for things and that's just a crappy system to still use.
Why are shellscripts crappy? They're a wonderful way to boss your computer. Use the ksh scripting language and the shellcheck shellscript validation checker and you'll have a spectacular control over whatever you want. If you consider shellscripts bad, why use a Unix clone at all?
And in the case of software that actually is updated with explicit systemd support you get service monitoring of whether the service is actually ready to work not just whether the process is running. Sometimes it matters that the database is ready to serve not just that it is starting up before you start something else that uses it.
What you have in systemd is a notification of when the process *says* it's ready to work, which may or may not be true information. The way s6 and runit work, you devise an easy test to *prove* the process is ready to work, and act accordingly. Runit has complete monitoring and control of processes via its sv program, and s6 has something equivalent.
I have not seen anything in the other init replacements that does that.
S6 and runit do that. SteveT Steve Litt http://444domains.com