SystemD versus System 5

Published on May 23, 2022 at 6:48 pm by LEW

Introduction

In this post I am going to look at both SystemD and System 5. Both are fundamental to how a Linux system functions, and though it might not be visible to the average user, there is a great divide between these two systems.

As with other things in Linux, the SystemD vs System 5 debate can take on a religious like fervor among advocates. Generally, in most cases, most normal desktop users don’t really care. In fact you almost have to be terminal/system ninja to really notice the differences.

However, it is possible that at some point you are going to crash into the SystemD vs System V argument. It would be nice if we had some basic understanding of the pros and cons.

System 5 High Level Overview

We will start with System V, as it is the older legacy system. System 5 origins are pre Linux. It actually refereed to a UNIX system. Linux inherited its original the inter process miscommunications from System 5. Additionally System 5 defines run levels and what order processes start in.

At startup System 5 determines the run level and executes scripts found in the corresponding run level folder. On Debian based systems these is found in /etc/init.d. Scripts start with a S (start) or K (kill) and the sequence number where they are run.

Additionally, you can also manually run these scripts during normal operation. For example, to restart an apache2 web server you wound run /etc/init.d apache2 restart from the terminal (will require su or sudo to run if not root).

It should also be noted that System 5 has a small code base and is considered by many to be POSIX complaint.

SystemD High Level Overview

SystemD is the upstart, introduced by Red Hat in 2011, when Fedora switched over form System 5. There was also a long debate in the Debian community before SystemD was adopted in Debian 8 Jessie.

Systemd differs in that it has a much larger code base, multiple binaries, and performs many more functions than System 5 did. SystemD is also not POSIX complaint, though you could make similar arguments for the System 5 implementation on Linux.

The reason SystemD has a much larger code base is that it does more (which many also consider a violation of the UNIX philosophy of doing one thing only and doing it well). SystemD performs the same functions as System 5, plus many additional functions.

In our above apache 2 example, the system command would be systemctl restart apache2. Note that there are no directory paths in this command.

The Controversy

Most objections to SystemD stem from the increased number of function, the POSIX issue, and the fact that SystemD originated with a private company (Red Hat). From what I have observed, these appear to be more of a philosophical issue, than an actual issue with the code.

But that is the nature of the beast. Linux is so deserve that there are die hard activists for almost every aspect. Just take a look at some of the online arguments about distributions and desktops.

Current Status

In 2022 it is going to be very hard (not impossible) to find a distro that comes with System V. A quick look at Distro Watch shows that most of the top ten page hit rankings are either Debian, Arch, or Fedora based, and they all use SystemD.

Conclusion

SystemD is here to stay, at least until the next new kid on the block knocks it off the pedestal.

Add New Comment

Your email address will not be published. Required fields are marked *