I'm a newcomer to Linux so I don't know the history, but whats so bad about systemd? I've used it on a basic level and it seems to get the job done? What do the alternatives offer?
Thank you for the links, I didn't know systemd went against the grain re: unix philosophy. Reading the links and some of the criticisms of systemd, it makes me wonder, why do so many distros default to systemd?
If you're a newcomer to Linux, I would very strongly recommend sticking with systemd. Like you pointed out, it's the default for all mainstream Linux distributions.
I started scrolling through that and came across a chart that has "interfacing via d-bus" as a green feature instead of a red bug at the very top of the list and I'm having a hard time taking it seriously. And I liked the shell scripts that Linux classically had been using: it meant I could read and trace what was happening. I dunno... if you have "modular C" as a feature and "shell scripts" as a bug you probably have made up a bunch of "problems" the same way people who would always whine about their languages and frameworks not being "modern" often do :/.
In reality the shell scripts used in the previous generation of init systems were difficult to follow. I agree that dbus is perhaps heavy weight, but it does provide an API. You can run systemd without it.
Many, many distros are directly derivative of a ''parent'' distro like Debian. If the parent distro sneezes, almost all of those derivative distros do likewise.
The problem people have with it is complexity or personal.
You can run your linux kernel with init=/bin/bash and .... well, you've got a shell!
A minimal init system can be a shell script that starts some services. Job done. That has historically been the way to do it. There are also several other init systems that are native code based.
Systemd is at the other end of the spectrum. It will setup cgroups and resource limits, syslog sockets per service, supervise services, support socket activation etc. etc. And that's without looking at timesyncd, resolved, networkd and a whole set of other systemd tools.
I personally find it to be rather low complexity for what it offers, but it has a higher baseline complexity, so be prepared to learn along.
And finally.... The maintainer is a rather controversial personal of pulseaudio fame.
I have an old powerful Xeon server running Ubuntu 20 LTS. Would migrating to Debian 12 give me a stable experience of my existing services? (Purposefully vague on details on what these services are, but anyone done this without any hardware compat problems)
14 comments
[ 2.8 ms ] story [ 42.1 ms ] threadAlternatives: https://www.without-systemd.org/wiki/index_php/Main_Page/
Knoppix ( http://knoppix.net ) as of release 8.6 is without systemd, and is a fine live-bootable/installable distro. I've used it to rescue systems.
Because it solves real problems: https://0pointer.de/blog/projects/why.html
If you're a newcomer to Linux, I would very strongly recommend sticking with systemd. Like you pointed out, it's the default for all mainstream Linux distributions.
As for systemd hate, again, most big iron UNIX have introduced similar infrastructure way before systemd came to be.
OS X has launchd, Solaris and its descendants have SMF, for example.
You can run your linux kernel with init=/bin/bash and .... well, you've got a shell!
A minimal init system can be a shell script that starts some services. Job done. That has historically been the way to do it. There are also several other init systems that are native code based.
Systemd is at the other end of the spectrum. It will setup cgroups and resource limits, syslog sockets per service, supervise services, support socket activation etc. etc. And that's without looking at timesyncd, resolved, networkd and a whole set of other systemd tools.
I personally find it to be rather low complexity for what it offers, but it has a higher baseline complexity, so be prepared to learn along.
And finally.... The maintainer is a rather controversial personal of pulseaudio fame.
Any kind of (standard) Xeon HW setup should be well supported by either OS.