Was ist SystemD?

Bei dieser Gelegenheit bringen wir das sehr mächtige Systemd mit, das in der Community viele Kontroversen ausgelöst hat, aber nach so vielen Kämpfen wird es in fast 90% der Linux-Distributionen standardmäßig der neue Service-Manager sein, der SysV zurücklässt .

Was ist SystemD?

Um SystemD zu definieren, gibt es nichts Besseres, als das Angebot der Projektmanager zu zitieren.

«Systemd ist ein System- und Service-Manager für Linux, der mit dem initscript SysV und LSB kompatibel ist. systemd bietet eine bemerkenswerte Kapazität für die Parallelisierung, verwendet Socket- und D-Bus-Aktivierung zum Starten von Diensten, ermöglicht die Initiierung von On-Demand-Daemons, verfolgt Prozesse mithilfe von Linux-Kontrollgruppen und unterstützt Snapshots und die Wiederherstellung des Systemzustands, die Aufrechterhaltung von Montagepunkten und automatischen Montagediensten und die Implementierung eines ausgeklügelten Abhängigkeitsverwaltungssystems auf der Grundlage einer logischen Steuerung der Dienste. ”

Zu den wichtigsten Funktionen, die wir hervorheben können;

  • Prozessparallelisierung (in der Lage, zwei oder mehr Prozesse gleichzeitig auszuführen), was zu einem schnelleren Start des Systems führt.
  • Optimieren Sie die Ressourcennutzung mit cgroups.
  • Unterstützt Snapshots und Systemwiederherstellung an einem definierten Punkt.
  • Montagepunkte und Montage von Lagereinheiten verwalten.

Im Gegensatz zu dem Runlevel, der von 0 auf 6 des alten Init ging, verwendet systemd Ziele, die alle mit dem Ziel verbundenen Prozesse gleichzeitig initiieren können. Das Interessante ist jedoch, dass Sie den Start des Grafikziels programmieren können, jedoch nicht vor dem Start des Prozesses. Mehrbenutzerziel

Überprüfen Sie Start Manager

Um sicherzustellen, dass unsere Distribution von systemd verwaltet wird, können wir vom Terminal aus starten.

 ps axu | head -n 2 

Wir sollten etwas Ähnliches werfen:

systemd.jpg
Andernfalls würden Sie immer noch upstart oder init verwenden

Bedienung

Der Hauptbefehl zur Steuerung von systemd lautet systemctl. Einige der möglichen Verwendungszwecke sind die Prüfung des Systemzustands sowie die Verwaltung des Systems und der Dienste.

See also  Wie installiert man Wget auf Rhel 8 (Red Hat Enterprise Linux)

Wir können die Einheiten in Ausführung auflisten:

 systemctl list-units 

Die verfügbaren Laufwerke sind in den Verzeichnissen / lib / systemd / system und / etc / systemd / system aufgeführt. Sie können jedoch mit den folgenden Befehlen aufgelistet werden:

 systemctl list-unit-files 

Dies gibt mir die Liste der verfügbaren Einheiten und deren Status:

systemd2.jpg

Unit Management

Gerät aktivieren
Systemctl Starteinheit

Gerät deaktivieren
System-Stopp-Einheit

Gerät neu starten
Gerät neu starten

Konfiguration einer Einheit aufladen (nützlich mit Apache)
systemctl reload unit

Zeigt den Status einer Einheit an
systemctl status unit

Überprüfen Sie, ob eine Einheit automatisch mit dem Ziel startet
systemctl ist eine aktivierte Einheit

Gerät aktivieren
systemctl enable unit

Laden Sie den systemd-Daemon neu, um nach neuen Einheiten zu suchen
systemctl daemon-reload

Gerät deaktivieren
Systemctl deaktivieren Einheit

Dies kann für Daemons, Services, Mount Points, Sockets und allgemeine Systemadministration angewendet werden. Ein echtes Beispiel wäre der Apache-Webserver unter Centos 7.0

 #Installieren Sie den Apache-Webserver $ yum -y installiere httpd # Aktivieren Sie den Dienst $ systemctl starte httpd # Aktivieren Sie den Dienst für den automatischen Start mit dem System $ systemctl aktiviert httpd #Überprüfen Sie den Status des Dienstes $ systemctl status httpd 

systemd3.jpg

Energiemanagement

Herunterfahren und Neustart des Systems
Systemctl neu starten

Herunterfahren des Systems
systemctl ausschalten

Systemaufhängung
systemctl suspend

Versetzen Sie das System in den Ruhezustand
Hibernate Systemctl

Zielverwaltung (ähnlich wie Runlevels)

Überprüfen Sie die Liste aller Ziele im System:

 $ systemctl list-units --type = target 

systemd4.jpg

Zeigen Sie das Standardziel beim Starten des Systems an
[color=#0000ff]-default[/color] $ systemctl [color = # 0000ff] get [/ color] [color = # 0000ff] -default [/ color]

Ändern Sie in diesem Fall das Grafikziel, das die Schnittstelle initiiert, in ein Ziel
target $ systemctl Grafisches [color = # 666600]. [/ color] -Ziel isolieren

Zieltabelle

tabla.jpg

Schlussfolgerungen
Wir haben viel mehr als genug Befehle gesehen, um eine auf systemd basierende Distribution zu verwalten. Es mag viel komplizierter erscheinen als SysV, aber nach einer Weile wird es sehr einfach und vor allem sehr gut strukturiert erscheinen.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *