Is systemd bad?

I see a lot of arguments both for and against systemd.
The most common against is the whole PID 0 thing. I agree that’s not ideal.
But I’ve learnt so much more about being a sysadmin since switching to systemd Linux. It’s definitely easier and more convenient.

What do you think?

Well, since most distros seem to run it, it could end up being a bad thing. Say you have one bug or issue, it can spready to several different distros and cause issues with updates. It is fairly complex and there are a lot of eyes on it but the risk is still there.

I had to google, I never knew that hate existed. But sure enough a lot of people hate it.
I use systemd and I have no issues with it.

I did find an interesting post where people debate back and forth.

It’s worth a read.

1 Like

Same here. People seem to have a lot of gripes with it. I guess this comes with the territory. I have seen plenty of debates and arguments happen online over different topics surrounding Linux. I think it just comes down to personal preference. It is always worth trying for yourself if you are not sure (based on what people online are saying).

This was quite an interesting question, especially with the post @Ben linked. As far as I can recall, I’ve had only positive experiences with systemd (but my experience with systemd in particular is not broad at all). The history and somewhat wide-reaching context involving systemd’s adoption (or forced compatibility for some) in UNIX-based or related OS distributions is definitely more in-depth than I expected. Nonetheless, a great bit of information learned today!

@glitch’s point is a good reminder to the importance of OS and software patch management, as the maintainers for system software, firmware, OS distributions, etc. should be assumed responsible for staying on top of security issues affecting their products/solutions.

1 Like

People have different preferences.

In the abstract, you can think of it this way. One is picking on every pixel. The other just wants the program to work. The other installs Ubuntu and doesn’t know what systemd is. They can all argue, but the choice is theirs.

1 Like

Thanks for all your replies and feedback on my question.

I think you all made clear and fair observations of it. Some don’t understand it, some worry, and others are just not bothered. This is probably the only place I have asked where people didn’t get into an argument over it and I appreciate that!

Old topic but I think I can help sort it out -

systemd is a necessary evil for personal computers, especially portable computers. There are a lot of things that have to go right, and change on the fly, that you really do need more than just a basic init system. systemd is following Apple’s launchd path and there’s a good reason Apple had to come up with launchd for their os.

However, for servers, VMs or containers I think it is mostly overkill, unless you require specific systemd features like cgroups and such. Process supervision the old school way is much more simple and easier to understand and just works (and debug when it doesn’t :slight_smile: . If you want a good example and see for yourself, install Void Linux in a vm and go through their excellent handbook https://docs.voidlinux.org

There are oci/docker images that bundle alpine with runit or s6 suite, which is probably the best way to run stable services that don’t directly interact with each other.

In the end after thinking about it for years, I don’t think it matters - i decided this after I realized I don’t care about launchd on Mac OS, why should I care about systemd on Linux? It’s systems level software and is doing a basic job you usually don’t need to be concerned with. Get out of the lower levels and focus on something important.

My 0.02

1 Like