So verwalten Sie systemd -Dienste und -einheiten mithilfe von 'systemctl' unter Linux

So verwalten Sie systemd -Dienste und -einheiten mithilfe von 'systemctl' unter Linux

Systemctl ist ein systemd Nützlichkeit, der für die Kontrolle der Verantwortung der Verantwortung ist systemd System- und Service -Manager. Systemd ist eine Sammlung von Systemverwaltungsdämonen, Versorgungsunternehmen und Bibliotheken, die als Ersatz von dienen System V init Dämon. Systemd fungiert als zentrale Management- und Konfigurationsplattform für UNIX -ähnliches System.

Im Linux, Ökosystem Systemd wurde mit wenigen Ausnahmen auf den größten Teil der Standard -Linux -Verteilung implementiert. Systemd ist der übergeordnete Prozess aller anderen Daemons oft, aber nicht immer.

Verwalten Sie Linux -Dienste mit SystemCTL

Dieser Artikel zielt darauf ab, Licht auf “zu werfen“So steuern Sie System und Dienste”Auf einem System, das systemd ausgeführt wird.

Beginnend mit den Grundlagen von Systemtd und Systemctl

1. Überprüfen Sie zunächst, ob systemd ist in Ihrem System installiert oder nicht und wie hoch ist die Version von aktuell installiertem Systemd?

# SystemCTL --VERSION Systemd 215 +PAM +Audit +Selinux +IMA +Sysvinit +libcryptsetup +gcrypt +acl +xz -seccomp -Apparmor 

Aus dem obigen Beispiel geht hervor, dass wir Systemd haben 215 Version installiert.

2. Überprüfen Sie, wo die Binärdateien und Bibliotheken von systemd Und Systemctl sind installiert.

# wobei systemd  systemd:/usr/lib/systemd/etc/systemd/usr/share/systemd/usr/share/mAN/mAN1/systemd.1.GZ # wobei SystemCTL SystemCTL:/usr/bin/systemCTL/usr/share/Man/Man1/SystemCTL.1.gz 

3. Prüfe ob systemd läuft oder nicht.

# PS -Deaf | Grep [S] Ystemd Wurzel 1 0 0 16:27 ? 00:00:00/usr/lib/systemd/systemd-switched-root-system-deserialize 23 root 444 1 0 16:27 ? 00:00:00/usr/lib/systemd/systemd-journald root 469 1 0 16:27 ? 00:00:00/usr/lib/systemd/systemd-udevd root 555 1 0 16:27 ? 00:00:00/usr/lib/systemd/systemd-logind dbus 556 1 0 16:27 ? 00:00:00 /bin /dbus-daemon--System --address = systemd: --NoFork-Nopidfile--Systemd-Aktivierung 

Notiz: systemd läuft als übergeordnetes Daemon (PID = 1). Im obigen Befehl ps mit (-e) Wählen Sie alle Prozesse aus ((-A) Wählen Sie alle Prozesse außer Sitzungsleitern aus und ((-F) für die vollständige Formatliste (ich.e. -EAF).

Beachten Sie außerdem die quadratischen Klammern im obigen Beispiel und den Rest der Beispiele, die folgen müssen. Der Ausdruck der Quadratklammer ist Teil der Anpassung des Charakterklassenmusters von Grep.

4. Analysieren Sie den Systemd -Boot -Prozess.

# systemd-analyz Startup in 487 ms (Kernel) + 2 abgeschlossen.776s (initrd) + 20.229s (UserSpace) = 23.493s 

5. Analysieren Sie die Zeit, die nach jedem Prozess beim Start genommen wurde.

# Systemd-Analyz-Schuld 8.565S Mariadb.Service 7.991S Webmin.Service 6.095S Postfix.Service 4.311s httpd.Service 3.926S Firewalld.Service 3.780er Kdump.Service 3.238S abgestimmt.Service 1.712S -Netzwerk.Service 1.394S LVM2-Monitor.Service 1.126S Systemd-Logind.Service… 

6. Analysieren Sie die kritische Kette am Boot.

# Systemd-Analyze Critical Chain Die Zeit, nachdem das Gerät aktiv ist oder begonnen hat. Die Zeit, die das Gerät zum Starten benötigt, wird nach dem "+" -Scharakter gedruckt. Multi-Benutzer.Ziel @20.222s └─mariadb.Service @11.657S +8.565s └─Network.Ziel @11.168S └─Network.Service @9.456S +1.712s └─NetworkManager.Service @8.858S +596 ms └─Firewalld.Service @4.931s +3.926S └─ -basic.Ziel @4.916S └─ockets.Ziel @4.916S └─dbus.Socket @4.916S └─Sysinit.Ziel @4.905S └─Systemd-update-utmp.Service @4.864S +39 ms └─auditd.Service @4.563S +301 ms └─Systemd-tmpfiles-setup.Service @4.485s +69 ms └─-Rhel-Import-Staat.Service @4.342S +142 ms.Ziel @4.324S └─boot.Mount @4.286s +31ms └─ [E-Mail geschützt] \ x2duuid-79f594ad \ x2da332 \ x2d4730 \ x2dbb5f \ x2d85d19608096 └─Dev-bym \ x2DUID-79F594 \ x2DA32d4f594.Gerät @4 

Wichtig: SystemCTL akzeptiert Dienste (.Service), Einhängepunkt (.montieren), Steckdosen (.Steckdose) und Geräte (.Gerät) als Einheiten.

7. Listen Sie alle verfügbaren Einheiten auf.

# SystemCTL List-Unit-Files Einheit Dateizustand Proc-sys-FS-BINFMT_MISC.Automount static dev-hugepages.Mount static dev-mqueue.Mount Static Proc-Sys-FS-BINFMT_MISC.Mount statische SYS-FS-Fuse-Verbindung.Mount Static Sys-Kernel-Config.Mount Static Sys-Kernel-Debug.Mount Static TMP.Mount Disabled Brandbot.Pfad deaktiviert… 

8. Listen Sie alle laufenden Einheiten auf.

# Systemctl List-Einheiten Einheit Last aktiver Unterbeschreibung Proc-sys-FS-BINFMT_MISC.Automount Loaded Active Waitar bitrary ausführbare Dateiformate Dateisystem Sys-Devices-PC… 0-1: 0: 0: 0-Block-Sr0.Geräte geladenes aktives Stecker VBOX_CD-ROM SYS-DEVICES-PC…: 00: 03.0-net-Enp0S3.Gerät geladenes aktives Stecker Pro/1000 MT Desktop-Adapter SYS-DEVICES-PC… 00:05.0-Sound-Card0.Gerät geladenes aktives Stecker 82801AA AC'97 Audio Controller Sys-Devices-PC…: 0: 0-Block-SDA-SDA1.Gerät geladenes aktives Stecker VBOX_HARDDISK SYS-DEVICES-PC…: 0: 0-BLOCK-SDA-SDA2.Geräte geladenes aktiv gesteckte LVM PV Qzyo3l-Qyal-urua-cjuk-pljo-qktx-vgbq8 sys-devices-pc… 0-2: 0: 0: 0-Block-SDA.Gerät geladenes aktives Stecker VBOX_HARDDISK SYS-DEVICES-PLER… ERIAL8250-TTYS0.Geräte geladenes aktives Stecker/Sys/Geräte/Plattform/Serial8250/tty/ttys0 sys-devices-pl… ERIAL8250-TTYS1.Geräte geladenes aktives Stecker/Sys/Geräte/Plattform/Serial8250/tty/ttys1 sys-devices-pl… Erial8250-tty-ttys2.Geräte geladenes aktives Stecker/Sys/Geräte/Plattform/Serial8250/tty/ttys2 sys-devices-pl… Erial8250-tty-ttys3.Geräte geladen aktiv.Geräte geladenes aktives Stecker/Sys/Geräte/Virtual/Block/DM-0 Sys-Devices-Virtual-Block-DM \ X2D1.Geräte geladenes aktives Stecker/Sys/Geräte/Virtual/Block/DM-1 Sys-Modul-Configfs.Geräte geladenes aktives Stecker/Sys/Modul/Konfiguration… 

9. Listen Sie alle fehlgeschlagenen Einheiten auf.

# SystemCTL -FAILED  Einheit Last aktiver Unterbeschreibung KDUMP.Service Loaded fehlgeschlagen fehlgeschlagener Crash Recovery Kernel Arming Last = Reflektiert, ob die Einheitsdefinition ordnungsgemäß geladen wurde. Aktiv = der Aktivierungszustand auf hoher Ebene, i, ich.e. Verallgemeinerung von sub. Sub = Der Aktivierungszustand auf niedrigem Einheitseinheit hängen vom Einheitstyp ab. 1 geladene Einheiten aufgeführt. Pass -alle beladene, aber inaktive Einheiten auch sehen. Um alle installierten Einheitsdateien anzuzeigen. 

10. Überprüfen Sie, ob eine Einheit (Cron.Service) ist aktiviert oder nicht?.

# SystemCTL IS-fähiger Crond.Service ermöglicht 

11. Überprüfen Sie, ob eine Einheit oder ein Dienst ausgeführt wird oder nicht?.

# Systemctl Status Firewalld.Service Firewall.Service - Firewalld - Dynamischer Firewall -Daemon geladen: geladen (/usr/lib/systemd/system/firewalld.Service; aktiviert) aktiv: aktiv (laufend) seit TUE 2015-04-28 16:27:55 IST; 34 Minuten vor Hauptpid: 549 (Firewalld) Cgroup: /System.Scheiben/Firewall.Service └─549/usr/bin/python -es/usr/sbin/firewalld -nofork -nopid 28. April 16:27:51 Tecmint Systemd [1]: Firewalld -Dynamic Firewall -Dämonung… 28. April 16:27: 55 Tecmint Systemd [1]: Firewalld - Dynamischer Firewall -Daemon. 

Steuern und verwalten Dienste mithilfe von SystemCTL

12. Listen Sie alle Dienste auf (einschließlich Aktiviert und deaktiviert).

# SystemCTL List-Unit-Files --Type = Service ARP-Ethers der Einheit Datei Status.Service Disabled Auditd.Service aktiviert [E-Mail-geschützte] deaktivierte BLK-verfügbare BLK-verfügbare.Service Disabled Brandbot.Service Static Collectd.Service Disabled Console-Getty.Service Disabled Console-Shell.Service deaktiviert CPUPOWER.Service Behinderte Crond.Service aktiviert dbus-org.Fedoraproject.Firewalld1.Service aktiviert… 

13. Wie fange ich den Status eines Dienstes neu an, stoppen, laden und überprüfenhttpd.Service) in Linux.

# Systemctl Start Httpd.Service # SystemCTL Neustart Httpd.Service # SystemCTL STOP HTTPD.Service # Systemctl Reload httpd.Service # Systemctl Status httpd.Service httpd.Service - Der Apache HTTP -Server geladen: geladen (/usr/lib/systemd/system/httpd.Service; aktiviert) aktiv: aktiv (laufend) Seit dem TUE 2015-04-28 17:21:30 IST; Vor 6s vor Prozess: 2876 execStop =/bin/Kill -winch $ mainpid (Code = beendet, Status = 0/Erfolg) Hauptpid: 2881 (httpd) Status: "Verarbeitungsanforderungen…" CGroup:/System.Slice/Httpd.Service ├─2881/usr/sbin/httpd -Dforder /sbin/httpd -Dforder : httpd: konnte das vollwertige ap… ssage des Servers nicht zuverlässig bestimmen. Hinweis: Einige Zeilen wurden ellipisiert, verwenden -l, um vollständig zu zeigen. 

Notiz: Wenn wir Befehle wie verwenden Start, Neustart, stoppen Und neu laden Mit SystemCTL erhalten wir keine Ausgabe am Terminal, die einzige Status Der Befehl druckt die Ausgabe aus.

14. So aktivieren Sie einen Dienst und aktivieren oder deaktivieren Sie einen Dienst zum Startzeit (Autostart -Dienst am System Boot).

# SystemCTL IS-aktives HTTPD.Service # SystemCTL aktivieren httpd.Service # SystemCTL Deaktivieren Sie httpd.Service 

15. Wie man maskiert (es unmöglich zu starten macht) oder einen Dienst entlarven (Dienst zu entlarven (httpd.Service).

# Systemctl Mask Httpd.Service ln -s '/dev/null "/etc/systemd/system/httpd.Service' # Systemctl Unmask Httpd.Service rm '/etc/systemd/system/httpd.Service' 

16. So töten Sie einen Dienst mit dem SystemCTL -Befehl ein Dienst.

# SystemCTL Kill httpd # Systemctl Status httpd httpd.Service - Der Apache HTTP -Server geladen: geladen (/usr/lib/systemd/system/httpd.Service; aktiviert) aktiv: fehlgeschlagen (Ergebnis: Ausgangscode) Seit dem TUE 2015-04-28 18:01:42 IST; 28 Minuten vor Hauptpid: 2881 (Code = beendet, Status = 0/Erfolg) Status: "Gesamtanfragen: 0; Aktuelle Anfragen/Sekunden: 0; Aktueller Verkehr: 0 b/s 28. April 17:37:29 Tecmint Systemd [ 1]: httpd.Service: Erhielt Benachrichtigungsnachricht von PID 2881, aber Recepti… geblutet. Apr 28 17:37:29 Tecmint Systemd [1]: httpd.Service: Erhielt Benachrichtigungsnachricht von PID 2881, aber Recepti… geblutet. Apr 28 17:37:39 Tecmint Systemd [1]: httpd.Service: Erhielt Benachrichtigungsnachricht von PID 2881, aber Recepti… geblutet. Apr 28 17:37:39 Tecmint Systemd [1]: httpd.Service: Erhielt Benachrichtigungsnachricht von PID 2881, aber Recepti… geblutet. Apr 28 17:37:49 Tecmint Systemd [1]: httpd.Service: Erhielt Benachrichtigungsnachricht von PID 2881, aber Recepti… geblutet. Apr 28 17:37:49 Tecmint Systemd [1]: httpd.Service: Erhielt Benachrichtigungsnachricht von PID 2881, aber Recepti… geblutet. Apr 28 17:37:59 Tecmint Systemd [1]: httpd.Service: Erhielt Benachrichtigungsnachricht von PID 2881, aber Recepti… geblutet. Apr 28 17:37:59 Tecmint Systemd [1]: httpd.Service: Erhielt Benachrichtigungsnachricht von PID 2881, aber Recepti… geblutet. Apr 28 18:01:42 Tecmint Systemd [1]: httpd.Service: Steuerprozess beendet, Code = beendet Status = 226 Apr 28 18:01:42 Tecmint Systemd [1]: Einheit HTTPD.Service eingegebener fehlgeschlagener Zustand. Hinweis: Einige Zeilen wurden ellipisiert, verwenden -l, um vollständig zu zeigen. 

Steuern und verwalten Sie die Mountspunkte mit SystemCTL

17. Listen Sie alle Systemmontagepunkte auf.

# SystemCTL List-Unit-Files --Type = Mount Einheitendateizustand dev-hugepages.Mount static dev-mqueue.Mount Static Proc-Sys-FS-BINFMT_MISC.Mount statische SYS-FS-Fuse-Verbindung.Mount Static Sys-Kernel-Config.Mount Static Sys-Kernel-Debug.Mount Static TMP.montieren behindert 

18. Wie montiere, montiere ich, remount, system montierst?

# Systemctl Start TMP.montieren # Systemctl Stopp TMP.montieren # SystemCTL Neustart TMP.montieren # Systemctl Reload TMP.montieren # Systemctl Status TMP.montieren TMP.Mount - Temporäres Verzeichnis geladen: geladen (/usr/lib/systemd/system/tmp.montieren; deaktiviert) aktiv: aktiv (montiert) Seit dem TUE 2015-04-28 17:46:06 IST; 2min 48s vor:/tmp was: tmpfs docs: Mann: Hier (7) http: // www.Freedesktop.org/wiki/software/systemd/apifilesystems Prozess: 3908 execmount =/bin/montage tmpfs/tmp -t tmpfs -o modus = 1777, strictatime (Code = beendet, Status = 0/Erfolg) Apr 28 17:46:06 Tecminint Systemd [1]: Montage Temporäres Verzeichnis… 28. April 17:46:06 Tecmint Systemd [1]: TMP.Mount: Verzeichnis /TMP, um zu montieren, ist nicht leer und montiert sowieso. 28. April 17:46:06 Tecmint Systemd [1]: montiertes temporäres Verzeichnis. 

19. So aktivieren oder deaktivieren Sie einen Mountspunkt zur Kartonzeit (automatische Montierung am Systemstiefel).

# SystemCTL IS-aktives TMP.montieren # SystemCTL aktivieren TMP.montieren # Systemctl Deaktivieren Sie TMP.montieren 

20. Wie man maskiert (es unmöglich zu beginnen macht) oder einen Mountspunkt unter Linux entlarven macht.

# Systemctl Mask TMP.montieren ln -s '/dev/null "/etc/systemd/system/tmp.montieren ' # Systemctl Unmask TMP.montieren rm '/etc/systemd/system/tmp.montieren' 

Steuern und verwalten Sie Sockets mit SystemCTL

21. Listen Sie alle verfügbaren Systemstecke auf.

# SystemCTL List-Unit-Files --Type = Socket DBUS des Einheitsdatei Status.Socket Static DM-Event.Socket aktiviert LVM2-LVMETAD.Socket aktiviert RSYNCD.Socket Deaktiviert SSHD.Socket Deaktiviertes Syslog.Socket Static Systemd-Initctl.Socket Static Systemd-Journald.Socket Static Systemd-Shutdownd.Socket Static Systemd-udevd-Control.Socket Static Systemd-udevd-Kernel.Socket statische 11 Einheitsdateien aufgeführt. 

22. Wie fange ich den Status eines Sockels neu an, stoppen, laden und überprüfen Sie sie neu (Beispiel: Tassen.Steckdose) in Linux.

# Systemctl Startbecher.Steckdose # SystemCTL Neustartbecher.Steckdose # Systemctl Stoppbecher.Steckdose # SystemCTL RELAD CUPS.Steckdose # SystemCTL Stat Cups.Steckdose Tassen.Sockel - Pokaldruckservice Sockets geladen: geladen (/usr/lib/systemd/System/Tassen.Steckdose; aktiviert) aktiv: aktives Zuhören) Seit dem TUE 2015-04-28 18:10:59 IST; Vor 8s Hören Sie:/var/run/Tassen/Tassen.Socke (Stream) 28. April 18:10:59 Tecmint Systemd [1]: Startbecher Druckbetreuung Sockets. 28. April 18:10:59 Tecmint Systemd [1]: Zuhören von Pokaldruckservice -Sockets. 

23. So aktivieren Sie einen Socket und aktivieren oder deaktivieren Sie sie zur Startzeit (Autostart Socket am System Boot).

# SystemCTL IS-aktives Tassen.Steckdose # SystemCTL aktivieren Tassen.Steckdose # SystemCTL Deaktivieren Sie Tassen.Steckdose 

24. Wie man maskiert (es unmöglich zu beginnen, einen Steckdose zu entlarven (Tassen.Steckdose).

# Systemctl Mask Cups.Steckdose ln -S '/dev/null "/etc/systemd/system/cups.Steckdose' # Systemctl Unmask Cups.Steckdose rm '/etc/systemd/system/becher.Steckdose' 
Seiten: 1 2