We are still actively working on the spam issue.

Difference between revisions of "Systemd"

From InstallGentoo Wiki
Jump to: navigation, search
(added pro cons, added external links)
m (Linux is a kernel)
 
(8 intermediate revisions by 6 users not shown)
Line 1: Line 1:
'''systemd''' is a software suite for central management and configuration of the [[:Category:GNU/Linux | Linux]] [[:Category:Operating systems | operating system]]. It consists of server applications ([[Daemon |daemons]]), run time libraries, development tools, and command line utilities.
+
'''systemd''' is a software suite for central management and configuration of [[:Category:GNU/Linux | GNU/Linux]]. It consists of server applications ([[Daemon |daemons]]), run time libraries, development tools, and command line utilities.
  
systemd has been used as the Linux init system to bootstrap the user space and manage all processes subsequently, replacing the UNIX System V and Berkeley Software Distribution (BSD) init systems. 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 Linux configurations and service behaviors across all [[:Category:Distros | distributions]].
+
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 [[:Category:Distros | distributions]].
  
As of 2015, most major 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.
+
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.
 
 
As of 2016, most major Linux distributions continue to use systemd and the sky has not yet fallen in.
 
  
 
== Controversy regarding systemd adoption ==
 
== Controversy regarding systemd adoption ==
  
* Systemd runs as PID 1. It means that if a part of it crashes the whole system goes down.
+
* 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. Its 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.
+
* 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 subjected to corruption. A secondary logger is needed to generate journals in readable format.
+
* 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 need GlibC and the Linux kernel.
+
* systemd is not portable. It requires the GNU C Library specifically and uses Linux-exclusive interfaces.
* Some optional dependencies like udev or dbus are now merged into the systemd code, making it more and more bloated.
+
* Some dependencies like udev or dbus have been merged into the systemd repository, removing support for non-systemd systems, locking users into systemd.
* Poettering
+
* Lennart Pöttering is well known as a top tier Internet asshole.
  
Nonetheless, more and more distribution have started to ship it as default init because it removes the complexity of all the init scripts and exposes a set of api to system admins and distro developers.
+
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 ==
 
== External links ==
 
* Init systems comparison: [https://lwn.net/Articles/578209/ part 1] and [https://lwn.net/Articles/578210/ part 2]
 
* Init systems comparison: [https://lwn.net/Articles/578209/ part 1] and [https://lwn.net/Articles/578210/ part 2]
* [Arguments against systemd](ttp://without-systemd.org/wiki/index.php/Arguments_against_systemd)
+
* [https://web.archive.org/web/20190523162052/https://without-systemd.org/wiki/index.php/Arguments_against_systemd Arguments against systemd] (Archived link)
* [Why systemd sucks](http://suckless.org/sucks/systemd)
+
* [http://suckless.org/sucks/systemd Suckless's "why systemd suck"]
 +
* [http://0pointer.de/blog/projects/the-biggest-myths.html Poettering's rebuttal]
 +
* [https://www.youtube.com/watch?v=o_AIw9bGogo The Tragedy of Systemd (2019)]
 +
* [https://devuan.org Devuan, the Systemd-Free Fork of Debian]
  
 
{{DISPLAYTITLE:systemd}}
 
{{DISPLAYTITLE:systemd}}
 
[[Category:GNU/Linux]]
 
[[Category:GNU/Linux]]
 
[[Category:Software]]
 
[[Category:Software]]

Latest revision as of 09:04, 9 May 2022

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