Generated by DeepSeek V3.2| systemd | |
|---|---|
| Name | systemd |
| Developer | Lennart Poettering, Kay Sievers, Harald Hoyer, Tom Gundersen, David Herrmann, and others |
| Released | 30 March 2010 |
| Latest release version | 255 |
| Latest release date | 10 January 2024 |
| Operating system | Linux |
| Genre | Init, system management |
| License | LGPL 2.1 or later |
| Website | https://systemd.io |
systemd. It is a suite of fundamental building blocks for a Linux system, providing a system and service manager that runs as PID 1 and starts the rest of the system. Designed as a replacement for traditional Unix System V and BSD init systems, it aims to provide aggressive parallelization capabilities, on-demand starting of daemons, and sophisticated service dependency management. Its adoption has become widespread across many major Linux distributions, though it has also been a significant source of debate within the free and open-source software community.
The project was initiated in 2010 by Lennart Poettering and Kay Sievers, engineers at Red Hat, with the first release appearing that same year. Its primary goal was to overcome limitations in boot speed and flexibility perceived in traditional init systems like sysvinit. It integrates closely with the Linux kernel, utilizing features like cgroups for process tracking, udev for hardware event handling, and the kernel's audit subsystem. This integration allows it to manage not just system startup, but also ongoing system state, logging via its journald component, and user sessions. The scope of the project has expanded far beyond a simple init daemon, leading to its description as a "system and service manager" that forms a core layer of the modern Linux software stack.
Architecturally, it is designed around the concept of units, which are configuration files that describe resources, dependencies, and activation instructions. These units are managed by the core daemon, which handles dependency resolution, parallel activation, and state tracking. A key design principle is socket-based activation, where services are started on-demand when a connection is made to a Unix domain socket or Internet socket they provide, improving boot performance. It also heavily leverages Linux kernel features such as cgroups for organizing processes into hierarchical groups, which enables precise management and isolation of services and their children. The design emphasizes a declarative configuration approach over shell scripts, aiming for more predictable and robust system behavior.
The suite comprises numerous integrated binaries and daemons that replace or supplement traditional Unix system utilities. The core component is the system and service manager daemon itself. For logging, it provides journald, a centralized daemon for collecting and managing log data from the kernel, early boot, and all services. The networkd component manages network configuration, while timedated handles system time and timezone settings. For user sessions, it offers logind, which manages user logins, seats, and power management. Other notable components include resolved for network name resolution, homed for user home directory management, and portabled for managing portable service images. Many of these components communicate via a native IPC bus, D-Bus.
Adoption has been rapid and widespread among major commercial and community Linux distributions. Red Hat Enterprise Linux and its derivatives like Fedora were early adopters, integrating it as the default init system. Debian, after a lengthy and contentious debate, voted to adopt it as the default, influencing downstream distributions like Ubuntu and Linux Mint. SUSE Linux Enterprise Server and openSUSE also made the switch, as did Arch Linux and CoreOS (now part of Red Hat). This broad adoption is driven by its perceived technical advantages in boot speed, service management, and integration with modern Linux kernel features. Many major software projects, including GNOME and KDE, have also come to depend on its APIs for session management.
Criticism has been extensive and often heated within the free and open-source software community. A primary critique is the perceived violation of the Unix philosophy of modularity and "do one thing well," as it bundles many functions into a single project, creating what critics call a monolithic architecture. This has led to concerns about complexity, reduced portability to other Unix-like systems like FreeBSD, and potential for single points of failure. High-profile developers, including those from the BSD communities and projects like Slackware and Devuan (a Debian fork), have rejected it on these philosophical and technical grounds. Other controversies have involved its logging binary format, aggressive feature expansion, and the dominant influence of its primary corporate sponsor, Red Hat. Debates over its adoption in Debian and the creation of forks like OpenRC underscore the deep divisions it has caused.
Category:Free software programmed in C Category:Linux process and task management Category:Linux startup process Category:Software using the LGPL license