Startseite » wie man » So verwalten Sie Systemd-Dienste auf einem Linux-System

    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