Systemd bringt das Konzept der Systemd -Einheiten in Linux mit. Für e.G., Serviceeinheit, Zieleinheit, Mount -Einheit usw. sind Einheitstypen mit Dateierweiterung als .Service, .Ziel, .montieren jeweils. Die Konfigurationsdatei, die diese Einheiten darstellt
Frühere Versionen von Red Hat Enterprise Linux (RHEL) verwendeten Init -Skripte. Diese Skripte wurden in Bash geschrieben und befanden sich im Verzeichnis „/etc/rc.D/init.D/". Dies sind Skripte, die zur Kontrolle der Dienste und Dämonen verwendet werden. Später in RHEL 7 wurden Serviceeinheiten vorgestellt, um die Init -Skripte zu ersetzen. Fedora, ein stromaufwärts gelegenes Betriebssystem von Red Hat Enterprise Linux, hat begonnen, das Systemd aus der Fedora Version 15 zu verwenden.
Serviceinheiten haben .Dienstdateierweiterungen und spielen ähnliche Rollen wie Init -Skripte. "Systemd" verwendet das Dienstprogramm "SystemCtl", um Systemdienste zu verwalten. Es kann verwendet werden, um diese Dienste anzusehen, zu starten, anzuhalten, neu zu starten, zu aktivieren oder zu deaktivieren.
Vorteile von Systemd gegenüber Init System
Was werden wir abdecken??
In diesem Leitfaden lernen wir über das Verwalten von Systemd -Prozessen erfahren. Wir sehen. Wir haben die folgenden Übungen auf Fedora 30 Workstations durchgeführt, die am besten für andere Linux -Osen anwendbar sein werden.
Listen Sie Startup -Dienste unter dem Boot in Fedora Linux auf
Die alte SYSV -Methode verwendet den Service und Chkconfig Befehle zur Verwaltung der Dienste. Diese Befehle werden jetzt durch die Systemd -Befehle ersetzt wie Systemctl. Lassen Sie uns einige der Operationen von „SystemCTL“ zu verschiedenen Diensten unter Linux sehen.
1. Verwenden Sie den folgenden Befehl:
$ sudo systemctl list-Einheit-Files-Type = Service
Ein Dienst kann drei Zustände haben: 1) aktiviert 2) deaktiviert 3) statisch
Ein aktivierter Dienst hat einen Symlink in a .will ein Verzeichnis, während ein behinderter Dienst keinen hat. Ein statischer Dienst verfügt über keinen Installationsabschnitt im entsprechenden Init -Skript. Es kann also nicht aktiviert oder deaktiviert werden.
Um weitere Details der Dienste zu erhalten, sollte der folgende Befehl verwendet werden.
$ sudo systemctl -at Service
Zusammenfassung der obigen Spaltennamen:
Einheit - Systemd -Einheit Name (hier ein Dienstname).
Laden - Geben Sie an, ob die Systemd -Einheit korrekt geladen wurde oder nicht.
Active - Status der Einheit (hier Service).
Sub - ein Unterzustand einer Einheitsaktivierung.
Beschreibung - Eine kurze Informationen des Geräts.
Wir können auch den folgenden Befehl verwenden:
$ sudo ls/lib/systemd/system/*.Service
oder
$ sudo/etc/systemd/system/*.Service
Der "/Etc/inittab" wird jetzt durch ersetzt durch "/Etc/systemd/system/" in systemd. Dieses Verzeichnis enthält nun die Symlinks zu den Dateien im Verzeichnis “/Usr/lib/systemd/system”. Die Init -Skripte werden in "/usr/lib/systemd/System" platziert. Ein Service muss auf die Kartierung von Kartierungen zugeordnet werden "/Etc/systemd/system/" zum Starten am Systemstiefel. Zu diesem Zweck wird der SystemCTL -Befehl in Fedora und anderen neuesten Linux -Systemen verwendet.
2. Lassen Sie uns das folgende Beispiel sehen, um den HTTPD -Dienst zu aktivieren:
$ sudo systemctl aktivieren httpd.Service
Außerdem können wir den folgenden Befehl verwenden, um alle aktivierten Dienste zu filtern:
$ sudo systemctl list-Einheit-Files | Grep aktiviert
oder verwenden Sie den Befehl:
$ sudo systemctl | Grep rennen
3. Verwenden Sie den Befehl, um alle aktiven (laufenden) Dienste aufzulisten:
$ sudo systemctl -t Service -State = Active
4. Um festzustellen, welche Dienste automatisch mit dem Systemstart starten können, können wir auch den folgenden Befehl verwenden:
$ sudo systemctl list-unit-files --Type = service --state = aktiviert-alle
5. In ähnlicher Weise können wir die deaktivierten Dienste überprüfen, um mit dem Befehl mit dem Start zu beginnen:
$ sudo systemctl list-unit-files --Type = service --state = deaktiviert-alle
6. Wir können auch sehen, wie spät jeder Service beim Start annimmt:
$ sudo systemd-analyz
7. Um zu überprüfen, ob ein Dienst für den Autostart beim Start aktiviert ist, verwenden Sie den Befehl:
$ sudo systemctl is-fähig xxx
Legen Sie den Namen des Dienstes anstelle von xxx. E.G., Im Fall des HTTPD -Dienstes wird der Befehl sein:
$ sudo systemctl ist fähig httpd.Service
oder
$ sudo systemctl ist fähig httpd
8. Verwenden Sie den Befehl, um den Status eines Dienstes zu überprüfen:
$ sudo systemctl Status xxx.Service
Zum Beispiel den Status des SSHD -Dienstes überprüfen:
$ sudo systemctl Status SSHD.Service
9. Um zu überprüfen, ob ein Dienst ausgeführt wird oder nicht, führen Sie einfach den folgenden Befehl aus:
$ sudo systemctl is-aktiv xxx.Service
Zum Beispiel, um den Telnet -Status zu überprüfen:
$ sudo systemctl is-aktiv telnet.Service
10. Verwenden Sie den Befehl, um einen toten oder inaktiven Dienst zu starten:
$ sudo systemctl starten xxx.Service
Zum Beispiel einen SSHD -Dienst starten:
$ sudo systemctl starten sshd
11. Um einen Dienst am System Boot zu deaktivieren
$ sudo systemctl deaktivieren xxx
Zum Beispiel zum Deaktivieren des HTTPD -Dienstes:
$ sudo systemctl deaktivieren httpd.Service
oder
$ sudo systemctl deaktivieren httpd
12. Um einen laufenden Service neu zu starten
$ sudo systemctl neu starten xxx neu starten.Service
Verwenden Sie den Befehl, um den SSHD -Dienst neu zu starten:
$ sudo systemctl starten sshd neu starten
Wenn der Dienst noch nicht ausgeführt wird, wird er gestartet.
13. Um einen laufenden Dienst neu zu laden
$ sudo systemctl reload xxx.Service
Laden Sie beispielsweise den HTTPD -Dienst mit: neu laden Sie:
$ sudo systemctl reload httpd neu laden.Service
Dieser Befehl lädt die Konfiguration eines bestimmten Dienstes neu. So laden Sie die Einheitskonfigurationsdatei von Systemd neu, wir benötigen den Befehl:
$ sudo systemctl Daemon-Reload
14. So listen Sie alle Abhängigkeiten eines Dienstes auf:
$ sudo systemctl list-abhängige xxx xxx.Service
Im Fall des HTTPD -Dienstes wird der Befehl sein:
$ sudo systemctl list-abhängige httpd.Service
Abschluss
In diesem Leitfaden haben wir verschiedene Möglichkeiten zum Verwalten von Diensten mit dem Systemd -Dienstprogramm gesehen, z. Wenn Sie an den Servicebefehl von Old Sysvinit gewöhnt waren, sollten Sie zu Systemd wechseln, da es über mehr Funktionen verfügt, und es ist das Standard -Init -System in neueren Versionen von Fedora, Rhel und den meisten anderen Haupt -Linux -Verteilungen.