What is systemd and why is it hated?

379 views

What is systemd and why is it hated?

In: 7

6 Answers

Anonymous 0 Comments

When the computer boots up and have started the kernel with all the device drivers and such it needs to start all the services and processes to complete the boot process. In UNIX and Linux this have traditionally been handled by sysVinit. This is a fairly simple system that basically just runs a number of shell scripts from a folder. At the time it was written this was more then adaquite. But since then we have seen a lot of features of similar systems in Solaris, Windows, OSX, etc. Things like restarting services when they failed, starting services in parallel, handling dependencies better, starting services on demand, etc. However people have grown fond of sysVinit and there are tons of scripts and knowledge working with it. Every project that implements a daemon for Linux comes with a script for sysVinit. But there have been attempts at replacing it for some time now. And it appears that systemd have won forth to become the new standard service management platform for Linux. But this basically means that all the Linux system administrators needs to get back on the school bench and learn all they know again. And all the projects that comes with scripts for sysVinit now needs those rewritten to take advantage of the new features in systemd.

On top of that the developers behind systemd did not feel comfortable stopping at replacing one piece of ancient software. There are lots of software written in a hurry by a student intern at MIT in the early days of UNIX which is still around. Best example of this is vixiechron which was written as a quick hack to run a script every two hours until Vixie could return from his Summer vacation but is still with only minor changes the main way to schedule regular executions of software. And because this is a natural part of service management the developers behind systemd replaced that while they were at it. And then replaced the log system, and the time keeping system, and so on.

Now, all of this additional projects are optional and systemd does work with the old projects and the new projects work with software written for the old projects. However it have become quite different to work on a modern Linux distribution that makes systemd and many of the sister projects default. And they are not so simple as the old ones meaning that you have to rely on the documentation more then just looking at the code itself. It is certainly a very different way to work, and if you understand it then it is much better as there are lots of features built inn.

You are viewing 1 out of 6 answers, click here to view all answers.