Comment by constantcrying
3 months ago
>Can anybody explain to me again why systemd is so bad ?
I only started to hate systemd when I really had to work with it in depth.
It is hard to understand unless why people hate it if you view it from the surface. On a high level there is nothing wrong with it. If you had to write a basic unit file you could easily do so, there are just a few basic concepts and keywords you need to know to get it working. From that perspective systemd is very much like openrc, which works very much in a similar matter.
Systemd is not bad because it is "monolithic" or because it violates some "UNIX principle" or because it is "bloated". Systemd is bad because it is made by people who have no idea what they want to make and who seem obsessed with solving every single problem they can imagine.
Did you know that on Ubuntu your fstab is fake? It is just a file which tells systemd which mount units it should create during boot. (https://manpages.ubuntu.com/manpages/focal/en/man8/systemd-f...)
Did you know that systemd contains an entire virtualization manager? (https://www.man7.org/linux/man-pages/man1/systemd-nspawn.1.h...)
Did you know that you can use systemd to manage network devices? (https://www.man7.org/linux/man-pages/man5/systemd.network.5....)
Why do these things need to be part of my init system? I can not even imagine what the answer could be.
Systemd is an enormous C project, which has innumerable features, many of them used extremely infrequently and which wants to perform very important tasks for your OS. It has lost any focus on being an init systemd.
People hate systemd because it is bad software and it is bad software because it has no idea what it wants to be. The systemd documentation is one of the biggest rabbit holes in computing.
These aren't part of the init system, they're optional components of the systemd monorepo.
Yes I knew all of these & have used all of these optional components. And they have provided immeasurably better administration than the historical tools that purported to do these jobs before, with far more consistency & clarity about their functioning.
Agreed that there are lots and lots of features. Buts its amazing. Oh you want to make this service secure, with temporary users & limited permissions and limits? Sure of course. Oh you want service restarting? Not perfect I agree but pretty good for me, and avoids some thundering herd problems I've seen other service managers have. There's so many things we could be doing, to make systems better, and a lot of people really are intimidated by & hate the fact that theres a much more competent cohesive system that shows such a lack with the bare bones unchanging unimproving inconsistent low-end insecure dirty past.
Having to work with systemd was the most miserable I have ever been in my life. It is genuinely terrible software and a total pain to use,