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
journalctllesbar.
Siehe auch: Der Linux-Kernel im Überblick, Display-Manager und Anmeldebildschirm