Services verwalten
In modernen Linux-Systemen werden Services zentral über systemd gesteuert. Dieses Kapitel zeigt, wie man Services startet, stoppt, neu startet und für den automatischen Systemstart konfiguriert, sowie wo systemd die zugehörigen Unit-Dateien verwaltet.
Eine systemd-Unit starten
Ein Service kann manuell gestartet werden. Dabei wird der zugehörige Prozess unmittelbar ausgeführt und von systemd überwacht. Der Start erfolgt unabhängig davon, ob der Service für den automatischen Systemstart konfiguriert ist.
sudo systemctl start <service-name>Eine Unit mit systemd stoppen
Beim Stoppen einer Unit beendet systemd den zugehörigen Prozess kontrolliert. Der Service steht danach nicht mehr zur Verfügung, bleibt jedoch weiterhin im System registriert und kann erneut gestartet werden.
sudo systemctl stop <service-name>Eine Unit neu starten
Ein Neustart kombiniert Stoppen und erneutes Starten eines Services. Dies wird typischerweise verwendet, um Konfigurationsänderungen wirksam werden zu lassen. Der Neustart erfolgt in der Regel sehr schnell und wird vollständig von systemd koordiniert.
sudo systemctl restart <service-name>systemd-Units aktivieren und deaktivieren
Das Aktivieren einer Unit legt fest, dass der Service beim Systemstart automatisch gestartet wird.
sudo systemctl enable <service-name>Das Deaktivieren verhindert den automatischen Start, ohne den Service zu entfernen.
sudo systemctl disable <service-name>Die Aktivierung erfolgt durch das Anlegen interner Verknüpfungen, nicht durch das Kopieren oder Ändern der eigentlichen Unit-Datei.
Speicherorte von systemd-Unit-Dateien
systemd verwaltet Unit-Dateien in mehreren Verzeichnissen mit unterschiedlicher Bedeutung:
- /lib/systemd/system/
Enthält Unit-Dateien, die von installierten Softwarepaketen bereitgestellt werden. - /run/systemd/system/
Enthält temporäre, zur Laufzeit erzeugte Units. - /etc/systemd/system/
Enthält benutzerdefinierte Units sowie Anpassungen bestehender Services.
Priorität der systemd-Unit-Verzeichnisse
systemd wertet die Unit-Verzeichnisse nach einer festen Priorität aus:
- /etc/systemd/system/ (höchste Priorität)
- /run/systemd/system/
- /lib/systemd/system/ (niedrigste Priorität)
Einträge in einem Verzeichnis mit höherer Priorität übersteuern gleichnamige Units aus niedrigeren Verzeichnissen. Aus diesem Grund werden eigene Services und Anpassungen grundsätzlich unter /etc/systemd/system/ abgelegt. Dadurch bleiben sie stabil gegenüber Paketupdates und sind eindeutig vom Distributionsstandard getrennt.