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:

Priorität der systemd-Unit-Verzeichnisse

systemd wertet die Unit-Verzeichnisse nach einer festen Priorität aus:

  1. /etc/systemd/system/ (höchste Priorität)
  2. /run/systemd/system/
  3. /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.