this post was submitted on 16 Feb 2026
49 points (93.0% liked)
Linux
12320 readers
363 users here now
A community for everything relating to the GNU/Linux operating system (except the memes!)
Also, check out:
Original icon base courtesy of lewing@isc.tamu.edu and The GIMP
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I don't understand the systemd hate
Disclaimer: I use systemd distros. I dont hate systemd, I just like the ability for alternatives to flourish without fighting an uphill battle.
It has major project scope creep (does too many things that arent init or service management), isn't modular or portable, only just gained support for muslc, it runs most of its init and management things in pid1 (which is a security and stability issue), it is a massive C program (large attack surface), it isnt very fast when compared to any other init (especially s6 or dinit which boot in under 4 seconds), it implements non-standard interfaces which just encourages further dependency, etc.
Systemd is like the Walmart of Linux OS tools. It replaces many other options and does things good enough (not the best, good enough) to make it worth it to use them and their ecosystem, and they make things simple to use. But just like Walmart, they undercut other options, stifle adoption, until they are the only shop in town.
Dinit does everything I need out of service manager, has similar command utilities and syntax to systemd, is much faster, simpler and cleaner code, avoids many of the pitfalls of systemd, supports user services. s6 is pretty good to but kinda terrible UX.
The simplest answer to why I dislike systemd is that with all the major distros using systemd, it will become harder and harder to use most Linux software without systemd and its growing set of utilities. If systemd made an effort to work with the community to implement standard interfaces then alternatives could flourish without requiring large on-going patches to much of the Linux software ecosystem. It will only get worse from here. Systemd is (basically) the init of Linux and I think that is sad.
Systemd is somewhat modular, as you don't have to use every feature of it. They will be still sitting on your drive, but not consuming any cpu cycles. Like the kernel. It's not a problem it contains code for hardware you don't have, but somehow it's a problem for systemd
It's not true everything is running as pid 1. on my pc these are running under different pids, you can check it yourself:
ps aux | grep systemdI agree it's a problem it's becoming a hard dependency for a lot of semi related projects though, it would be healthier for the whole ecosystem if systemd would be replaceable.
Are these "other features" hard dependent on systemd? If yes, how are they modular (or portable)? "My program can be used on any system with a couple of small dependencies: Linux kernel, glibc, and the systemd Kernel" /j
There are some attempts to use systemd tools independent for it, like elogind and eudev, but see what I mean. Hard forks (with major rewrites) are required because these tools heavily depend on systemd, which fine I understand having dependency, but you cant just use part of systemd since it is to tangled together. It would be nice if mire of systemd code was available as separate libraries so you could further reduce attack surface by building a significantly slimmed version of systemd+feature. I am unsure if you meant modular as in "you can choose to enable them" or as in "you can build without them" or both.
Also, I never claimed systemd ran everything under pid1, just plenty more then the should be, like init plus service manager (and more), not every single systemd tool because that would be beyond stupid and systemd isnt made by idiots.
Why is running in pid1 an issue?
Compromising/crashing pid1 (which becomes increasing likely when the program is massive) takes down the entire system. pid1 should only be the initial init (which should be as small as possible, basically a stub) and start the service manager as a separate pid. This allows the system to gracefully recover by restarting other processes without fully locking-up/crashing. It is a bad practice.
Apparently the reason they stopped using systemd is recent versions don't fully support split
/usr. I have no idea if that's actually true though.Choice.
Why want ubuntu, I can run lfs fine, so you can too.
There's choice also for other system utilities like "sudo" "chown" "ping" etc?
There's a lot of
sudoalternatives.doasis my favorite.Chown is part of GNU Coreutils, a common alternative for that is Busybox.