systemd is the init system and service manager that has become the de facto standard on modern Linux distributions. Launched by Lennart Poettering and Kay Sievers at Red Hat in 2010, it replaced the older SysV init with a dependency-aware, parallelised service manager that starts up faster, logs more consistently, and manages far more than just services. Its scope—logging (journald), DNS (resolved), network (networkd), user sessions (logind), time sync (timesyncd)—has made it both powerful and controversial.
The central abstraction is the unit: a declarative description of something systemd manages, whether a service, mount point, socket, timer, or target. Units live under /lib/systemd/system/ (distribution-provided), /etc/systemd/system/ (local), and ~/.config/systemd/user/ (per-user). Configuration is INI-like, readable, and documented in man pages.
systemctl status sshd
systemctl start/stop/restart/reload sshd
systemctl enable/disable sshd
systemctl list-units --type=service
journalctl -u sshd -f
systemctl --user status myapp.service
Systemd's influence has been enormous: most Linux distributions now depend on it for boot, service management, logging, and much more. Alternatives like OpenRC, runit, and s6 exist for those who prefer smaller init systems, but they are minority choices outside specific distributions like Alpine, Gentoo, and Artix.
Related terms: systemd Unit, systemctl, journalctl, init
Discussed in:
- Chapter 13: System Services and systemd — Units: The systemd Object Model
Also defined in: Textbook of Linux