Dmitry Nikolaev - stock.adobe.co

20 systemctl-Befehle für System- und Servicemanagement

System- und Servicemanagement sind für die Kundenzufriedenheit und die Bereitstellung von Diensten unerlässlich. Diese 20 systemctl-Befehle erleichtern die Arbeit für Admins.

Mehr Administratoren als je zuvor arbeiten in Cloud-Umgebungen und müssen eine Reihe von System- und Servicemanagementaufgaben durchführen.

Der Befehl systemctl kümmert sich sowohl um die System- als auch um die Servicekonfiguration. Administratoren können das Betriebssystem verwalten und den Status der Services kontrollieren. Außerdem eignet sich sytemctl für die Problemsuche und grundlegendes Performance Tuning.

Hier sind 20 Optionen, wie man den Befehl systemctl einsetzt, um Linux-Systeme besser zu verstehen und zu verwalten.

Ein kurzer Überblick zur Syntax

Werfen wir zunächst einen Blick darauf, wie man den Befehl systemctl benutzt. Die Syntax ist wie folgt:

systemctl subcommand argument

Wollen Sie einen Service neu starten, führen Sie folgenden Befehl aus:

# systemctl restart {Servicename}

Es gibt viele Unterbefehle für systemctl und in diesem Beitrag finden sie einige davon. Wollen Sie alle Unterbefehle sehen, versuchen Sie diesen Trick: Tippen Sie systemctl ein, geben Sie ein Leerzeichen ein und drücken danach Tab doppelt (Standard für Bash-Fertigstellung). Nun sehen Sie eine Liste mit allen Unterbefehlen.

Hinweis: Bei vielen modernen Linux-Distributionen ist das Root-Benutzerkonto deaktiviert. In diesem Fall müssen Administratoren den folgenden Befehlen möglicherweise sudo voranstellen.

Systemadministratoren benutzen systemctl aus zwei Gründen: Systemmanagement und Servicemanagement.

Systemmanagement

In diesem Zusammenhang steht Systemmanagement für Konfiguration des Betriebssystems. Sprechen wir von systemctl, beinhaltet das auch Optionen für Start und Herunterfahren des Systems.

1. Neustart / Reboot

Zwei wichtige Funktionen von systemctl sind der Neustart und das Herunterfahren des Systems. Um neu zu starten, führen Sie diesen Befehl aus:

# systemctl reboot

2. Herunterfahren

Um das System über die dafür zuständige Schnittstelle (Advanced Configuration and Power Interface) herunterzufahren, führen Sie diesen Befehl aus:

# systemctl poweroff

3. Standardanzeige anzeigen

Linux-Server booten normalerweise in die Kommandozeile (CLI), was bei systemd die Einstellung multi-user.target ist. In vielen Fällen bevorzugen Administratoren allerdings das GUI (graphical.target).

Den momentanen Standard können Sie sich wie folgt anzeigen lassen:

# systemctl get-default

4. Standardanzeige ändern

Den derzeitigen Standard von multi-user.target (CLI) zur GUI ändern Sie wie folgt:

# systemctl set-dfault graphical.target

5. Zu multi-user.target wechseln

Um zu multi-user.target zu wechseln, ohne den Standard graphical.target zu ändern, führen Sie folgenden Befehl aus:

# systemctl isolate multi-user.target

6. In den Rescue-Modus wechseln

Um in den Rescue-Modus (Rettungsmodus) für Problemlösungen zu wechseln, führen Sie diesen Befehl aus:

# systemctl rescue

Servicemanagement

Das Tool systemctl kann beim Management des Systems unterstützen, aber es eignet sich noch besser für die Verwaltung der Services. Administratoren können sich aktive Services anzeigen lassen. Sie können Services starten und stoppen sowie steuern, welche Services beim Booten des Systems starten. Der Befehl systemctl bietet auch Optionen für Problemlösungen.

7. Status eines Services anzeigen

Es gibt viele Möglichkeiten, den Status eines Services anzeigen zu lassen. In einigen Fällen wollen Administratoren Informationen über alle Services sehen und manchmal sind sie an einem bestimmten Service interessiert. In beiden Fällen kann systemctl helfen.

Um den Status von allen Services zu sehen, führen Sie diesen Befehl aus:

# systemctl list-units --type=service

8. Services nach Status auflisten

Mit diesem Befehl können Sie Services nach Status auflisten:

# systemctl list-units --type=service --state=active

Mögliche Werte für --state= sind running, stopped, enabled, disabled und failed.

# systemctl list-units --failed

9. Einen Service starten

Eine häufige Aufgabe für Administratoren ist es, Services neu zu starten. Sobald Administratoren eine Konfigurationsdatei ändern, müssen sie fast immer den dazugehörigen Service neu starten, damit er die Konfigurationsdatei auslesen und die Änderungen übernehmen kann.

Der Befehl systemctl startet einen Service manuell mit diesem Befehl:

# systemctl start {Servicename}

10. Einen Service stoppen

Wollen Sie einen Service manuell mit systemctl stoppen, führen Sie diesen Befehl aus:

# systmctl stop {Servicename}

11. Einen Service neu starten

Anstatt einen Service manuell zu stoppen und zu starten, können Sie den Unterbefehl restart benutzen.

# systemctl restart {Servicename}

12. Einen Service am Start hindern

Ein gestoppte oder deaktivierter Service lässt sich trotzdem starten, wenn das von einem anderen Service ausgeht. Möchten Sie einen Service komplett an einem Start hindern, benutzen Sie den Unterbefehl mask. Damit wird die Service-Konfiguration mit /dev/null verknüpft.

# systemctl mask {Servicename}

13. Einen Service aktivieren

Einen Service zu starten und zu stoppen gilt nur für die momentane Laufzeit. Was ist aber, wenn Administratoren einen Service beim Booten des Systems starten wollen? Dafür ist enable zuständig:

# systemctl enable {Servicename}

14. Einen Service deaktivieren

Äquivalent dazu können Administratoren einen Service konfigurieren, dass er nicht beim Booten des Systems startet. Mit diesem Befehl deaktivieren Sie den Service:

# systemctl disable {Servicename}

15. Aktiven Status überprüfen

Mit dem Befehl systemctl überprüfen Sie den Status eines Services und den Boot-Status. Verwenden Sie nachfolgenden Befehl sowie das Kommando is-enabled:

# systemctl is-active {Servicename}

16. Status aktiv überprüfen

Bei systemctl steht ihnen auch der folgende Befehl zur Verfügung, um den Status eines bestimmten Services abzufragen:

# systemctl is-enabled {Servicename}

17. Einen Service mit Signal 15 stoppen

Mit dem Unterbefehl kill können Sie Services stoppen. Sie sollten allerdings beachten, dass es sich damit nicht um die beste Option handelt. Verwenden Sie den Unterbefehl stop, sofern das möglich ist. Per Standard schickt systemctl kill ein Signal 15 oder SIGTERM 15, das beim System ein kill anfordert und dem System ermöglicht, sich selbst zu bereinigen.

Hier ist ein kill-Beispiel für Signal 15:

# systemctl kill {Servicename}

18. Einen Service mit Signal 9 abschießen

Administratoren können das System anweisen, einen Service sofort zu stoppen, indem sie mit folgendem Befehl ein Signal 9 senden:

# systemctl kill -s 9 {Servicename}

19. Analyse

Wir würden noch gerne den Befehl systemd-analyze bei den systemctl-Management-Szenarios vorstellen. Es ist zwar ein anderer Befehl, er gehört aber auch zum Systemmanagement. Der grundlegende Befehl systemd-analyze berichtet über die Startzeit des Systems und schlüsselt auf, wie lange die Ladezeit des Kernels war, bevor es in den Userspace überging. Außerdem sehen Sie, wie lange Userspace-Komponenten zum Laden benötigt haben. Es ist eine einfache Messung der Startzeit.

# systemd-analyze

20. Startzeiten der Services anzeigen

Bei den Services ist es noch nützlicher, wenn Sie den Befehl systemd-analyze nach der Startzeit filtern. Mit nachfolgendem Befehl sehen Sie die Startzeiten der Services:

# systemd-analyze blame

Beachten Sie, dass einige Services verzögert starten, weil sie auf andere warten. Dennoch finden Sie auf diese Weise nützliche Informationen, welche Services die Startzeit des Systems verlangsamen.

Fazit

Heutzutage verwalten Administratoren mehr On-Premises- und Cloud-basierte Linux-Systeme als jemals zuvor. Management und Monitoring von Services sind wichtig, damit Sie den Anwendern genügend Ressourcen zur Verfügung stellen. Der Befehl systemctl ist eines der nützlichsten Tools, die verfügbar sind.

System- und Servicemanagement von Linux-VMs sind wichtige Qualifikationen für Administratoren, die mit Cloud-Umgebungen arbeiten. Lernen Sie die verschiedenen Unterbefehle und machen Sie damit Ihre Linux-Administration wesentlich produktiver.

Erfahren Sie mehr über Data-Center-Betrieb