So verwalten Sie Systemd-Dienste auf einem Linux-System
Systemd wird jetzt standardmäßig in den meisten Linux-Distributionen verwendet, von Fedora und Red Hat bis zu Ubuntu, Debian, openSUSE und Arch. Mit dem Befehl systemctl können Sie Informationen über den Status von systemd erhalten und die ausgeführten Dienste steuern.
Trotz der Kontroverse führt dies zumindest zu einer gewissen Standardisierung in allen Linux-Distributionen. Mit den gleichen Befehlen können Sie Dienste auf jeder Linux-Distribution mit systemd auf dieselbe Weise verwalten.
Hinweis: Um Ihre Systemkonfiguration auf einer Linux-Distribution wie Ubuntu, die sudo verwendet, zu ändern, müssen Sie den Befehlen hier das Präfix voranstellen Sudo. Bei anderen Linux-Distributionen müssen Sie mit dem Root-Benutzer root werden su Befehl zuerst.
Überprüfen Sie, ob Ihr Linux-System Systemd verwendet
Wenn Sie nicht sicher sind, ob Ihre Linux-Distribution systemd verwendet, öffnen Sie ein Terminalfenster und führen Sie den folgenden Befehl aus. Hier sehen Sie die Versionsnummer von systemd auf Ihrem Linux-System, falls systemd installiert ist:
systemd -version
Analysieren Sie den Startvorgang
Mit dem Befehl systemd-analysis können Sie Informationen zum Startvorgang anzeigen, z. B. wie lange es gedauert hat und welche Dienste (und andere Prozesse) dem Startvorgang die meiste Zeit hinzugefügt haben.
Führen Sie den folgenden Befehl aus, um Informationen zum Startvorgang allgemein anzuzeigen:
systemd-analyse
Führen Sie den folgenden Befehl aus, um anzuzeigen, wie lange der Start jedes Prozesses gedauert hat:
systemd-analyse schuld
Einheiten anzeigen
Systemd verwendet „Einheiten“, bei denen es sich um Dienste (.service), Mountpunkte (.mount), Geräte (.device) oder Sockets (.socket) handeln kann. Der gleiche Befehl systemctl verwaltet alle diese Gerätetypen.
So zeigen Sie alle verfügbaren Einheitendateien auf Ihrem System an:
systemctl list-unit-files
Um alle laufenden Einheiten aufzulisten:
systemctl list-units
Um alle fehlerhaften Einheiten aufzulisten:
systemctl -failed
Dienste verwalten
Um eine Liste der aktivierten und deaktivierten Services anzuzeigen, verwenden Sie denselben systemctl-Befehl wie oben, weisen Sie jedoch an, dass nur Services aufgelistet werden sollen:
systemctl list-unit-files -type = Dienst
Mit dem Befehl systemctl können Sie einen Dienst starten, stoppen oder neu starten. Sie können einem Dienst auch anweisen, seine Konfiguration neu zu laden.
Der Statusbefehl ist die einzige Aktion, die hier gedruckt und an das Terminal ausgegeben wird. Die anderen Befehle werden automatisch wirksam.
systemctl startname.service
systemctl stop name.service
systemctl restart name.service
systemctl reload name.service
systemctl status name.service
Verwenden Sie den Befehl systemctl enable, damit systemd beim Booten automatisch einen Dienst (oder einen anderen Gerätetyp) startet. Der Befehl systemctl disable deaktiviert Dienste und verhindert, dass diese automatisch mit Ihrem Computer gestartet werden.
systemctl enable name.service
systemctl deaktivieren name.service
Sie können einen Dienst oder ein anderes Gerät "maskieren", um zu verhindern, dass es überhaupt startet. Sie müssen es demaskieren, bevor es in der Zukunft beginnen kann:
systemctl mask name.service
systemctl entmask name.service
Systemd und seine verschiedenen Befehle enthalten natürlich noch viel mehr als dies. Systemd bietet eine Vielzahl von Befehlen zur Energieverwaltung, um den Energiezustand des Systems herunterzufahren, neu zu starten, in den Ruhezustand zu versetzen und anderweitig zu steuern. Sie können eigene Unit-Dateien schreiben, um Dienste und Mountpunkte zu erstellen oder vorhandene Unit-Dateien zu bearbeiten.
Systemd bietet auch "Ziele" an, die Runlevels ähneln, sich aber unterscheiden. Anstelle einer Zahl haben Ziele Namen - es ist möglich, dass sich systemd gleichzeitig in mehreren Zielzuständen befindet. Systemd bietet auch ein eigenes Systemjournal an, auf das mit dem Befehl journalctl zugegriffen werden kann. Standardmäßig werden Systemprotokolle im Binärformat gespeichert. Sie können jedoch auch Protokolle im Nur-Text-Format verwenden, wenn Sie dies vorziehen.
Das Arch Linux-Wiki enthält detailliertere Informationen zu systemd. Die meisten Informationen gelten für systemd auf allen Linux-Distributionen. Weitere Informationen finden Sie in der Dokumentation Ihrer eigenen Linux-Distribution.
Bildnachweis: Bert Heymans auf Flickr