systemd v1: controversial but dominant Linux init system

systemd v1 (May 2010) by Lennart Poettering and Kay Sievers (Red Hat): parallel init system, socket activation, declarative unit files, unified service management. Adopted as default by Fedora, Debian, Ubuntu, RHEL.

Open Source systemdLennart PoetteringRed HatLinuxInitOpen Source

Replacing SysV init

SysV init (1983) — with sequential shell scripts in /etc/init.d/ and runlevels 0-6 — was the Linux standard for decades. It showed limits, however: slow sequential boot, primitive dependency management, no parallelism, highly variable script quality.

systemd, started by Lennart Poettering and Kay Sievers at Red Hat, was presented on 30 April 2010, with version 1 released on 18 May 2010. Inspiration: Apple macOS launchd. Licence LGPLv2.1+.

Features

  • Parallelism — units started in parallel respecting dependencies
  • Socket activation — daemons start only when needed
  • D-Bus activation — integration with Linux desktops
  • Cgroup integration — per-service process isolation
  • Declarative unit files (*.service, *.socket, *.mount, *.timer, *.target) replace shell scripts
  • journald — binary structured logging
  • systemctl — unified CLI for service management

Example unit file:

[Unit]
Description=My Web App
After=network.target postgresql.service

[Service]
Type=simple
User=webapp
ExecStart=/opt/webapp/server
Restart=on-failure

[Install]
WantedBy=multi-user.target

Early adoption

Red Hat plans integration in Fedora from upcoming releases; other major distros are watching the project but have not yet committed.

Controversies

systemd is one of the most controversial technologies in recent Linux history:

  • Scope creep — criticism that it includes too many features (journald, resolved, networkd, timesyncd, etc.) beyond pure init
  • Complexity — thousands of lines of C vs. simple shell scripts
  • UNIX philosophy — “do one thing well” violated according to detractors
  • Lock-in — deep dependency hard to uninstall
  • Security concerns — wide attack surface
  • Red Hat governance — some see vendor dominance

Forks and alternatives: Devuan (Debian without systemd), Artix Linux (Arch without systemd), sinit, runit, OpenRC (Gentoo). Alpine Linux does not use systemd.

In the Italian context

Early evaluations in Italian Linux teams are under way: parallel boot and dependency management are attractive, but the community is split between enthusiasts and UNIX-philosophy traditionalists.


References: systemd v1 (18 May 2010). Lennart Poettering, Kay Sievers, Red Hat. Licence LGPLv2.1+. Inspired by launchd (Apple). Declarative unit files. journald logging.

Need support? Under attack? Service Status
Need support? Under attack? Service Status