29Aug

So verwalten Sie Systemdienste auf einem Linux-System

Systemd wird jetzt standardmäßig in den meisten Linux-Distributionen verwendet, von Fedora und Red Hat bis hin zu Ubuntu, Debian, openSUSE und Arch. Mit dem Befehl systemctl können Sie Informationen zum Status von Systemd abrufen und laufende Dienste steuern.

Trotz der Kontroverse führt dies zumindest zu einer gewissen Standardisierung bei Linux-Distributionen. Mit denselben Befehlen können Sie Dienste auf jeder Linux-Distribution mit systemd auf die gleiche Weise verwalten.

Hinweis : Um Ihre Systemkonfiguration in einer Linux-Distribution wie Ubuntu mit sudo zu ändern, müssen Sie den Befehlen hier sudo voranstellen. Bei anderen Linux-Distributionen müssen Sie zuerst der Benutzer root mit dem Befehl su werden.

Überprüfen, ob Ihr Linux-System Systemd

verwendet Wenn Sie nicht sicher sind, ob Ihre Linux-Distribution systemd verwendet, öffnen Sie ein Terminal-Fenster und führen Sie den folgenden Befehl aus. Dies zeigt Ihnen die Versionsnummer von Systemd auf Ihrem Linux-System, wenn es Systemd installiert hat:

Systemd-Version

Analysieren Sie den Boot-Prozess

Der Befehl Systemd-Analyse ermöglicht es Ihnen, Informationen über Ihren Startvorgang anzuzeigen, wie lange esgenommen und welche Dienste( und andere Prozesse) dem Bootprozess am meisten Zeit hinzugefügt haben.

Führen Sie diesen Befehl aus, um Informationen zum Startprozess im Allgemeinen anzuzeigen:

systemd-analyze

Führen Sie diesen Befehl aus, um zu sehen, wie lange jeder Prozess dauerte:

systemd-analysis

Einheiten anzeigen

Systemd verwendet "units"können Dienste( .service), Mountpunkte( .mount), Geräte( .device) oder Sockets( .socket) sein. Derselbe systemctl-Befehl verwaltet alle diese Arten von Einheiten.

Um alle verfügbaren Unit-Dateien auf Ihrem System anzuzeigen:

systemctl list-unit-files

Um alle laufenden Einheiten aufzulisten:

systemctl list-units

Um alle fehlerhaften Einheiten aufzulisten:

systemctl -failed

Manage Services

Um eine Liste vonaktivierte und deaktivierte Dienste verwenden Sie den gleichen systemctl-Befehl wie oben, aber sagen Sie, dass nur Dienste aufgelistet werden:

systemctl list-unit-files -type = service

Mit dem Befehl systemctl können Sie einen Dienst starten, stoppen oder neu starten. Sie können einem Dienst auch mitteilen, dass er seine Konfiguration neu laden soll.

Der Statusbefehl ist die einzige Aktion, die hier gedruckt und an das Terminal ausgegeben wird. Die anderen Befehle werden automatisch wirksam.

systemctl start name.service

systemctl stop name.service

systemctl restart name.service

systemctl neu laden name.service

systemctl status name.service

Mit dem Befehl systemctl enabled kann systemd automatisch einen Dienst( oder einen anderen Gerätetyp) startenbeim Booten. Der Befehl systemctl disable deaktiviert einen Dienst und verhindert, dass er automatisch mit Ihrem Computer gestartet wird.

systemctl enable name.service

systemctl disable name.service

Sie können einen Dienst oder eine andere Einheit "maskieren", um einen Start zu verhindern. Sie müssen es demaskieren, bevor es in der Zukunft starten kann:

systemctl mask name.service

systemctl demask name.service

Es gibt natürlich viel mehr zu systemd und seinen verschiedenen Befehlen. Systemd bietet eine Vielzahl von Befehlen zur Energieverwaltung an, mit denen der Systemzustand des Systems heruntergefahren, neu gestartet, in den Ruhezustand versetzt und anderweitig gesteuert werden kann. Sie können eigene Unit-Dateien schreiben, um Services zu erstellen und Punkte zu mounten oder die vorhandenen Unit-Dateien zu bearbeiten.

Systemd bietet auch "Ziele" an, die Runlevels ähnlich, aber unterschiedlich sind.statt einer Zahl haben Ziele Namen - es ist möglich, dass Systemd sich gleichzeitig in mehreren Zielzuständen befindet. Systemd bietet auch ein eigenes Systemjournal, auf das mit dem Befehl journalctl zugegriffen werden kann. Standardmäßig werden Systemprotokolle im Binärformat gespeichert. Sie können jedoch auch in Protokolle im Klartextformat wechseln.

Das Arch-Linux-Wiki enthält ausführlichere Informationen zu systemd, und die meisten Informationen gelten für systemd auf allen Linux-Distributionen. Sie sollten auch die Systemd-Dokumentation Ihrer eigenen Linux-Distribution für weitere Informationen lesen.

Bildquelle: Bert Heymans auf Flickr