EMZETT.
Login

systemd und Init-Systeme

Kurz: Das Init-System ist der erste Prozess nach dem Kernel (PID 1). Es startet Dienste und verwaltet sie. systemd ist heute bei fast allen großen Distributionen der Standard.

Genauer: Früher gab es SysV-Init mit Skripten, die nacheinander liefen. systemd startet Dienste parallel und überwacht sie. Es bringt außerdem Protokollierung, Zeitgeber und Netzwerk-Werkzeuge mit.

Im Detail

systemctl status ssh          # Zustand
sudo systemctl start nginx    # starten
sudo systemctl enable nginx   # beim Booten starten
sudo systemctl restart nginx
journalctl -u nginx -f        # Protokoll verfolgen
systemctl list-units --failed # fehlgeschlagene Dienste
systemd-analyze blame         # was bootet langsam?
  • Unit-Dateien: /etc/systemd/system/*.service, außerdem .timer (Ersatz für cron), .socket, .mount, .target.
  • Targets: multi-user.target (Server), graphical.target (Desktop), rescue.target.
  • Alternativen: OpenRC (Alpine, Gentoo), runit (Void), s6, dinit.
  • Kritik: systemd ist sehr umfangreich und damit komplex; Befürworter loben die Einheitlichkeit.
  • Journal: Binäre Protokolle, per journalctl lesbar.

Siehe auch: Der Linux-Kernel im Überblick, Display-Manager und Anmeldebildschirm