In diesem Handbuch erfahren Sie, wie Sie Startup-Dienste mit systemd in Fedora verwalten.
Systemd auf Fedora
Gegenüber den traditionellen init-Systemen (UNIX System V und BSD) bietet systemd Flexibilität und Verbesserungen. Aus diesem Grund haben sich die meisten modernen Linux-Distributionen systemd . angenommen. Fedora ist keine Ausnahme. Ein wesentlicher Vorteil von systemd besteht darin, dass es fast wie ein Standard ist; Die in diesem Handbuch demonstrierten Befehle funktionieren auch auf jedem anderen Linux-System, das systemd verwendet.
Um sicherzustellen, dass Ihr Fedora-System über systemd verfügt, führen Sie den folgenden Befehl aus.
$ systemctl --version
Der folgende Befehl zeigt auch den Speicherort des systemd auf dem System an.
$ whereis systemd
Um den Speicherort von systemctl zu finden, führen Sie den folgenden Befehl aus.
$ whereis systemctl
Es ist möglich zu überprüfen, ob systemd derzeit ausgeführt wird.
$ ps -eaf | grep systemd
Verwalten von Diensten mit systemd
Zur Verwaltung von Diensten ist systemctl ein einfach zu bedienendes Tool. In den meisten Fällen werden Sie systemctl verwenden, wenn es um Service-Management geht.
Dienste auflisten
Im Allgemeinen verfügt jedes Linux-System über zahlreiche laufende Dienste. Es ist eine schwierige Aufgabe, sie alle auswendig zu lernen. Zum Glück kann systemctl alle Dienste auf dem System auflisten.
Der folgende Befehl listet alle Dienste auf. Es umfasst aktivierte, deaktivierte, ausgeführte und gestoppte Dienste.
$ systemctl list-units --type=service --all
Es ist möglich, Dienste nach ihrem Status aufzulisten.
$ systemctl-Listeneinheiten --state=
Um Dienste basierend auf mehreren Zuständen aufzulisten, verwenden Sie die folgende Befehlsstruktur.
$ systemctl-Listeneinheiten --state=
Hier ist eine kurze Liste aller verfügbaren Servicestatus.
- aktiv
- inaktiv
- aktivierend
- deaktivieren
- gescheitert
- nicht gefunden
- tot
Wenn Sie an „geladenen“, „aktivierten“, „deaktivierten“ und „installierten“ Servicedateien interessiert sind, benötigen Sie stattdessen den Befehl „list-unit-files“. Führen Sie den folgenden Befehl aus.
$ systemctl list-unit-files --type=service
Servicestatus prüfen
Bevor Sie eine Aktion für einen Dienst ausführen, sollten Sie den Status des Zieldienstes überprüfen. Der folgende Befehl meldet den Status eines Dienstes.
Verwenden Sie alternativ den folgenden „service“-Befehl.
$-Dienst
Starten eines Dienstes
Um einen Dienst zu starten, führen Sie den folgenden Befehl aus.
Alternativ führt der folgende „service“-Befehl die gleiche Aufgabe aus.
$ sudo-Dienst
Dienst anhalten
Um einen laufenden Dienst zu stoppen, verwenden Sie den folgenden Befehl.
Verwenden Sie alternativ den folgenden „service“-Befehl.
$ sudo-Dienst
Neustart eines Dienstes
Nach dem Vornehmen von Änderungen erfordert ein Dienst einen Neustart, damit die Änderungen wirksam werden. Um einen Dienst neu zu starten, führen Sie den folgenden Befehl aus.
Verwenden Sie alternativ den folgenden „service“-Befehl.
$ sudo-Dienst
Neuladen eines Dienstes
Bei einigen Diensten können diese die neue Konfiguration ohne Neustart laden. Wenn das der Fall ist, dann ist Nachladen die bessere Aktion. Um einen Dienst neu zu laden, verwenden Sie den folgenden Befehl.
Neustart und neu laden
Falls Sie sich nicht sicher sind, ob Sie den Dienst neu starten oder neu laden sollen, geben Sie den Befehl „reload-or-restart“ ein. Die Konfigurationsdateien werden direkt neu geladen (falls verfügbar). Andernfalls wird der Dienst neu gestartet.
Dienst aktivieren und deaktivieren
Je nachdem, ob der Dienst beim Booten gestartet wird, gibt es zwei Arten von Diensten.
- aktiviert: Der Dienst wird beim Systemstart automatisch gestartet.
- deaktiviert: Der Dienst startet nicht, wenn das System bootet.
Beachten Sie, dass jeder „deaktivierte“ Dienst nach dem Systemstart manuell gestartet werden muss.
Um einen Dienst zu aktivieren, führen Sie den folgenden systemctl-Befehl aus.
$ sudo systemctl enable
Um einen Dienst zu deaktivieren, führen Sie den folgenden systemctl-Befehl aus.
$ sudo systemctl deaktivieren
Bootzeit analysieren
Beim Booten benötigt jeder Dienst Zeit, um vollständig geladen zu werden. Führen Sie den folgenden Befehl aus, um zu ermitteln, wie viel Zeit Dienste beim Booten benötigen:.
Mit systemd-analyze können Sie auch die kritische Kette beim Booten analysieren. Führen Sie den folgenden Befehl aus, um den Bericht anzuzeigen.
$ systemd-analyze Critical-Chain
Abschließende Gedanken
Systemd erleichtert die Verwaltung von Startup-Diensten. Dieser Leitfaden zeigt nur einige der einfachsten Methoden zur Manipulation von Diensten auf Fedora.
systemd ist jedoch mehr als das. Im Wesentlichen ist systemd der Vater aller anderen Prozesse. Um systemd auf einer tieferen Ebene zu verstehen, lesen Sie diese Anleitung, wie systemd das System startet.
Viel Spaß beim Rechnen!