Linux: Systemd-Services verstehen und so eigene Dienste steuern
Auf modernen Linux-Systemen läuft ohne Systemd-Services nichts. Wir zeigen, wie Sie eigene Unit-Dateien erstellen und Systemd-Services optimal für sich nutzen.
(Bild: Jessica Nachtigall / KI / heise medien)
- Marvin Shah
Bevor Systemd die Linux-Welt eroberte, war SysVinit das Rückgrat der meisten Distributionen und brachte einen Stapel an undurchsichtigen Shell-Skripten mit sich, die in /etc/init.d wohnten und Services „zu Fuß“ starten, stoppen und neu starten konnten. Das ging typischerweise so lange gut, bis man komplexere Start-Abhängigkeiten modellieren musste. Die große Freiheit im Schreiben der Skripte wurde zur Stolperfalle, weil die Zusammenhänge zwischen den Dateien und Diensten so kaum noch zu durchblicken waren.
Hier zeigt sich die Stärke von Systemd: Mit gut strukturierten Konfigurationsdateien lassen sich auch noch so komplexe Szenarien abbilden, ohne selbst Skripte schreiben zu müssen. An die Stelle von SysVinit tritt mit Systemd ein robuster Prozess, der als PID 1 das Erste ist, was im System startet, und selbst alles andere aufruft und im Blick behält.
- Das Init-System Systemd startet Linux-Dienste anhand klar definierter Konfigurationsdateien statt wackeliger Shell-Skripte.
- In Service-Unit-Files definiert man Abhängigkeiten und was im Fehlerfall passieren soll.
- Es braucht nur wenige Zeilen, damit eigene Systemdienste verlässlich und automatisiert starten.
Statt einem von Shell-Skripten zusammengehaltenen Bootprozess gibt es so ein Set von wohldefinierten Unit-Files, die alle dem gleichen Format folgen und, wenn man ihre Struktur einmal verinnerlicht hat, beim Lesen sofort verständlich sind.
Das war die Leseprobe unseres heise-Plus-Artikels "Linux: Systemd-Services verstehen und so eigene Dienste steuern". Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.