Was ist systemd?
Die Systemd Software Suite bietet die Grundlage für das Debian -Betriebssystem. Der Stammprozess im Prozessbaum von Linux ist für die Verwaltung anderer Prozesse und Anwendungen verantwortlich und wird verwendet, um Anwendungen im Kernel-Ebene-Modus zu steuern. Zum Beispiel das Ausführen von Docker als Service.
So verwenden Sie Systemd für verschiedene Aufgaben
Listen Sie Einheitsdateien auf
Systemd verwendet "Einheit", um alle Systemdienste und Prozesse zu verarbeiten. Systemd -Einheiten verwenden Konfigurationsdateien, um ihre unterschiedlichen Aktivitäten zu regieren. Einheitskonfigurationsdateien werden in drei Typen eingeteilt:
"Standardeinheit Konfigurationsdateien" mit im Verzeichnis enthaltenen Konfigurationsdateien "/usr/lib/systemd/system”
"Systemspezifische Einheitenkonfigurationsdateien" mit systemspezifischen Einheitskonfigurationsdateien, die in “enthalten sind“/etc/systemd/system”
“
"Konfigurationsdatei" Laufzeiteinheit "mit Konfigurationsdateien im Verzeichnis" ""/run/systemd/system”
Im Folgenden finden Sie den Befehl zur Auflistung von Einheitsdateien zusammen mit ihrer Ausgabe
$ SystemCTL List-Unit-Files
Ausgang
Einheitsdateizustand
procsys-fs-binfmt_misc.Automount statisch
Dev-Hugepages.statisch montieren
dev-mqueue.statisch montieren
procsys-fs-binfmt_misc.statisch montieren
sys-fs-fuse-connections.statisch montieren
Sys-Kernel-Config.statisch montieren
sys-kernel-debug.statisch montieren
TMP.montieren behindert
Brandbot.Pfad deaktiviert
systemd-mask-password-Console.Pfad statisch
systemd-mask-password-plymouth.Pfad statisch
systemd-mask-password-wall.Pfad statisch
Session 1.Umfang statisch
ARP-Ethers.Service deaktiviert
Auditd.Service aktiviert
[email protected] aktiviert
Versuchen Sie, den Befehl Linux Grep zum Filter von nur aktivierten Diensten zu verwenden.
$ systemctl list-unit-Files | Grep aktiviert
Ausgang
Auditd.Service aktiviert
[email protected] aktiviert
Crond.Service aktiviert
dbus-org.Fedoraproject.Firewalld1.Service aktiviert
dbus-org.Freedesktop.NM-Dispatcher.Service aktiviert
Firewall.Service aktiviert
[email protected] aktiviert
Irqbalance.Service aktiviert
Kdump.Service aktiviert
LVM2-Monitor.Service aktiviert
Starten und stoppen Dienste einen Service
$ sudo systemctl starten
$ sudo systemctl stop
Unten finden Sie ein Beispiel für den Ausführen eines Docker -Containers als Dienst.
Um Ihre Anwendung (nennen wir es "x") als Systemd -Dienst aus, erstellen Sie die folgende Datei im Verzeichnis „/etc/systemd/system“ und nennen Sie sie als
'Docker.ein bisschenname.Service' :
[Einheit]
Beschreibung = x Container
Nach = Docker.Service
Will = network-online.Target Docker.Steckdose
Erfordert = Docker.Steckdose
[Service]
Neu starten = immer
ExecStart =/usr/bin/docker start -a SOLE_NAME
ExecStop =/usr/bin/docker stopp -t 10 SOLE_NAME
[Installieren]
Wantby by = multi-user.Ziel
Verwenden Sie den folgenden Befehl, um einen Dienst mit einem Systemstart zu starten:
SystemCTL aktivieren Docker.ein bisschenname
Verwenden Sie die folgenden Befehle, um den Dienst manuell anzuhalten und zu starten:
sudo service stop docker.ein bisschenname
Sudo Service Start Docker.ein bisschenname
Service Status überprüfen
Im Folgenden finden Sie den Befehl, um den Status des laufenden Dienstes zu überprüfen.
$ sudo systemctl Status
Starten Sie einen Service neu
Sie können einen Service auch neu starten, ohne anhalten zu müssen, um ihn zu starten, was mehr Anstrengungen erfordert. Unten finden Sie den Befehl, um diese Aufgabe auszuführen.
$ sudo systemctl starten Sie die Firewall neu starten
Neustart und Abschalten
Im Folgenden finden Sie die Befehle, um das System neu zu starten und zu schalten. (Als Systemadministrator sollten Sie auch wissen, wie das System mithilfe einer Befehlszeile heruntergefahren wird.)
$ sudo systemctl neu starten
$ sudo systemctl poweroff
Startdienste zur Kartonzeit
Dienstleistungen wie Docker müssen gestartet werden, sobald Ihr Computer eingeschaltet ist. Um dies zu erreichen, können Sie den folgenden Befehl erwähnen.
$ sudo systemctl aktivieren Firewall
Versuchen Sie, Ihre Maschine zu booten, und Sie werden feststellen, dass der Dienst automatisch ohne menschliche Interaktion beginnt.
Abschluss
In diesem Beitrag haben wir gesehen, wie systemd Könnte gemeinsame Verwaltungs- und Konfigurationsaufgaben mit Ihrer Maschine ausführen. Ein Systemadministrator kann die oben genannten Befehle verwenden, um die Konfiguration der in Ihrem Computer ausgeführten Dienste zu automatisieren. Versuchen Sie diese Befehle mit Ihren benutzerdefinierten Diensten und erkennen Sie die Kraft der systemd.