We are still actively working on the spam issue.
systemd
systemd is a software suite for central management and configuration of GNU/Linux. It consists of server applications (daemons), run time libraries, development tools, and command line utilities.
systemd is used as a Linux init to bootstrap userspace and manage all subsequent child processes, replacing the UNIX System V and Berkeley Software Distribution (BSD) inits, as well as Upstart. The name systemd adheres to the Unix convention of naming daemons by appending the letter d. The software suite is published as free and open-source software under the terms of the GNU Lesser General Public License (LGPL) version 2.1 or later. One of systemd's main goals is to unify basic GNU/Linux configurations and service behaviors across all distributions.
Most major GNU/Linux distributions have adopted systemd as their default init system. The increasing adoption of systemd has been controversial, with critics arguing that the software has violated the Unix philosophy by becoming increasingly complex, and that distributions have been forced to adopt it due to its coupling with various other software, including most controversially, the GNOME desktop environment. However, the sky has not fallen yet.
Controversy regarding systemd adoption
- systemd runs as PID 1. It means that if the process dies, the kernel panics and the operating system goes down.
- systemd flies in the face of the Unix philosophy: "do one thing and do it well," representing a complex collection of dozens of tightly coupled binaries. It's responsibilities grossly exceed that of an init system, as it goes on to handle power management, device management, mount points, cron, disk encryption, socket API/inetd, syslog, network configuration, login/session management, readahead, GPT partition discovery, container registration, hostname/locale/time management, mDNS/DNS-SD, the Linux console and other things all wrapped into one. The agenda for systemd is to be an ever-growing and invasive middleware for GNU/Linux.
- Logs are stored in binary format and are susceptible to corruption. A secondary logger daemon is needed to generate logs in readable format.
- systemd is not portable. It requires the GNU C Library specifically and uses Linux-exclusive interfaces.
- Some dependencies like udev or dbus have been merged into the systemd repository, removing support for non-systemd systems, locking users into systemd.
- Lennart Pöttering is well known as a top tier Internet asshole.
Nonetheless, GNU/Linux distributions have started to ship it as the default init system because it removes the complexity and time consumption of writing init scripts and exposes a set of APIs to system admins and distro developers.
External links
- Init systems comparison: part 1 and part 2
- Arguments against systemd (Archived link)
- Suckless's "why systemd suck"
- Poettering's rebuttal
- The Tragedy of Systemd (2019)
- Devuan, the Systemd-Free Fork of Debian