Um Dienste auf einem Linux System warten zu können wird das Kommando systemctl
verwendet. Nachfolgender Artikel gibt eine kleine Übersicht darüber wie die Befehlsmöglichkeiten zu diesem Kommando aussehen und zu welchem Zweck sie verwendet werden.
Der Befehl systemctl
wird zum Senden von Befehlen an systemd verwendet. Grundsätzlich verwenden alle heutigen Linux-Systeme das systemd. Prüfen kann man dies dennoch mit dem Befehl ps --pid 1
Dieser Befehl prüft nun ob der systemd Prozess läuft.
Um eine einwandfreie Anwendung des Befehls zu gewährleisten sollte das mit vorangestelltem sudo
Kommando geschehen oder man loggt sich als root
ein und führt die Kommando grundsätzlich als root aus.
Der Befehl setzt sich wie folgt zusammen systemctl start UNITNAME
Mit UNITNAME
ist die Bezeichnung des Dienstes gemeint. Nun aber zu den verschiedenen Befehlsketten.
systemctl start UNITNAME
startet die Unit. Ein automatischer Start wie z.B. nach dem Einschalten des Rechners findet nicht statt, hierzu benötigt man das Kommando "enabled".
systemctl stop UNITNAME
Stopt die Unit
systemctl restart UNITNAME
Startet die Unit neu. Wenn sie noch nicht läuft wird sie gestartet.
systemctl reload UNITNAME
Startet und lädt dabei die Konfigurationsdatei neu. Wenn die Unit nicht läuft wird diese nicht gestartet.
systemctl status UNITNAME
Zeigt den Status der Unit.
systemctl is-enabled UNITNAME
Prüft ob die Unit-Datei aktiviert ist.
systemctl mask UNITNAME
Verhindert, dass eine Unit geladen wird.
systemctl unmask UNITNAME
Ermöglicht wieder, dass eine Unit geladen wird.
systemctl enable UNITNAME
Aktiviert die Unit-Datei. Danach kann die Unit automatisch gestartet werden z.B. nach einem Neustart des Rechners.
systemctl disable UNITNAME
Deaktiviert die Unit-Datei. Unit wird nicht mehr automatisch gestartet. Sie kann jedoch als Abhängigkeit von einer anderen Unit geladen werden.
systemctl edit UNITNAME
Ermöglicht das Bearbeiten von Unit-Dateien.
systemctl edit --full UNITNAME
Um die ganze Datei zu bearbeiten.
systemctl daemon-reload
Um Änderungen an Unit-Dateien zu übernehmen. Es werden alle Konfigurationsdateien neu geladen.
systemctl list-unit-files --state=disabled
Prüfen welche Dienste deaktiviert sind.
systemctl --type=service
Zeigt die geladenen Dienste an.
systemctl reboot
Neustart von systemctl.