14 comments

[ 2.8 ms ] story [ 42.1 ms ] thread
Hey, that's one of mine. I am glad you liked it enough to share it. Maybe I should have done so myself... :-)
I’m still baffled about the hate systemd continues to get and how it’s even worth mentioning that you can run Debian without it.
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?
Some people consider systemd to be “bloatware”. There are many alternatives, but some of the more popular options are runit and OpenRC
The alternative is the old init system. There's a discussion that will answer your questions (and more!) here: https://www.howtogeek.com/713847/the-best-linux-distribution...

Alternatives: 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.

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?
> why do so many distros default to systemd?

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.

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.
UNIX philosophy is just a book quote that never was uphold in practice in big iron UNIX, even though it gets repeated all the time in FOSS circles.

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.

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)
Why not stay with Ubuntu, and upgrade to 22.04 LTS? Is the current setup giving you trouble?

Any kind of (standard) Xeon HW setup should be well supported by either OS.