systemd ist eine Programmsammlung, die Linux-Systeme startet und betreut. systemd ist nach dem Linux-Kernel selber die wichtigste Software eines Linuxsystems. Das Projekt bezeichnet sich auf dessen Homepage auch selber als "Sammlung von Grundbausteinen für ein Linux-System". systemd ist verantwortlich für das Starten, Verwalten und Überwachen des Bootprozesses sowie des laufenden Systems. systemd wird als allererster Prozess gestartet und hat deshalb die PID 1.
Eine grundlegende Komponente von systemd sind Units. systemd kennt 11 verschiedene Unittypen, jeweils für unterschiedliche Aufgaben. Gängige Unittypen sind z.B. Service Units, die zum Starten und Überwachen von Diensten und Prozessen dienen und Timer Units, mit der periodisch Aufgaben ausgeführt werden können. Des Weiteren gibt es unter anderem noch Units zum Einbinden von Dateisystemen (Mount Units), zum Umgang mit Sockets (Socket Units, zum Überwachen von Dateien und Verzeichnissen (Path Units) und einige mehr.
systemd bringt ein eigenes, zentrales Logging namens journald mit.
Zwei wichtige Programme zur Interaktion mit systemd sind:
- systemctl: hiermit können Units gestartet, gestoppt, deaktiviert, angelegt etc werden. Des Weiteren kann der Zustand von Units abgefragt werden sowie das System heruntergefahren, neu gestartet etc. werden
- journalctl: dient zur Abfrage der Logs von journald
weiterführende Links:
- Homepage des Projekts
- Projektseite bei freedesktop.org
- Man-Pages von systemd - systemd ist sehr ausführlich dokumentiert
- systemd Startseite bei ubuntuusers.de mit vielen Erklärungen zu den einzelnen Komponenten. Das allermeiste davon gilt auch für Raspberry Pi OS.
- kompakte Übersicht zu systemd mit Erklärungen, welche Unittypen welche Funktion haben