© Copyright by andidom.at

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.