Jak zarządzać usługami i jednostkami „SystemD” za pomocą „SystemCTL” w Linux

Jak zarządzać usługami i jednostkami „SystemD” za pomocą „SystemCTL” w Linux

Systemctl jest Systemd użyteczność odpowiedzialna za kontrolowanie Systemd Menedżer systemu i usług. Systemd to zbiór demonów, narzędzi i bibliotek zarządzania systemem, które służy jako wymiana System v Init Demon. SystemD funkcjonuje jako centralna platforma zarządzania i konfiguracyjna dla systemu UNIX jak system.

W Linux, ekosystem Systemd został zaimplementowany na większości standardowej dystrybucji Linux z kilkoma wyjątkami. SystemD jest procesem macierzystym wszystkich innych demonów często, ale nie zawsze.

Zarządzaj usługami Linux za pomocą SystemCtl

Ten artykuł ma na celu rzucenie światła „Jak kontrolować system i usługi”W systemie z systemem.

Począwszy od podstaw SystemTd i SystemCtl

1. Najpierw sprawdź, czy Systemd jest zainstalowany w twoim systemie, czy nie, a jaka jest wersja aktualnie zainstalowanego systemu?

# Systemctl --version Systemd 215 +PAM +Audyt +Selinux +IMA +Sysvinit +LibcryptsetUp +Gcrypt +ACL +XZ -Seccomp -Apparmor 

Z powyższego przykładu jasno wynika, że ​​mamy systemd 215 zainstalowana wersja.

2. Sprawdź, gdzie binarie i biblioteki Systemd I Systemctl są zainstalowane.

# Whereis Systemd  Systemd:/usr/lib/systemd/etc/systemd/usr/sharge/systemd/usr/share/man/man1/systemd.1.GZ # gdzie jest systemCtl Systemctl:/usr/bin/systemctl/usr/share/man/man1/systemctl.1.GZ 

3. Sprawdź pogodę Systemd działa czy nie.

# Ps -eaf | grep [s] ytemd root 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 -devd 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-Activation 

Ogłoszenie: Systemd działa jako demon macierzysty (PID = 1). W powyższym poleceniu Ps z (-mi) Wybierz wszystkie procesy (-A) Wybierz wszystkie procesy oprócz liderów sesji i (-F) Aby uzyskać pełną listę formatu (i.mi. -eaf).

Zwróć również uwagę na kwadratowe nawiasy w powyższym przykładzie i reszcie przykładów do naśladowania. Wyrażenie kwadratowego wspornika jest częścią dopasowania wzoru klasy postaci Grep.

4. Przeanalizuj proces rozruchu SystemD.

# Systemd-analyze Startup zakończony w 487 ms (jądro) + 2.776s (initrd) + 20.229s (przestrzeń użytkowników) = 23.493s 

5. Analizuj czas na każdy proces w rozruchu.

# Systemd-analyze winę 8.565S Mariadb.Usługa 7.991S Webmin.Usługa 6.095S Postfix.Usługa 4.311S Httpd.Usługa 3.926S Firewalld.Usługa 3.780s Kdump.Usługa 3.238s dostrojone.Usługa 1.Sieć 712S.Usługa 1.394S LVM2-MONITOR.Usługa 1.126S Systemd-Logind.praca… 

6. Przeanalizuj łańcuch krytyczny w BOOT.

# Systemd-analize krytyczny łańcuch Czas po aktywności urządzenia lub uruchomieniu jest wydrukowany po znaku „@”. Czas, w którym urządzenie zaczęło się na początek, jest wydrukowany po znaku „+”. Multi-użytkownik.cel @20.222S └─Mariadb.usługa @11.657s +8.565S └─ Network.Target @11.168S └─ Network.serwis @9.456s +1.712S └─NetWorkManager.serwis @8.858s +596ms └─firewalld.usługa @4.931s +3.926S └─Basic.Target @4.916S └─ Sockets.Target @4.916S └─DBus.Gniazdo @4.916S └─Sysinit.Target @4.905S └─Systemd-update-Utmp.usługa @4.864s +39ms └─Auditd.usługa @4.563s +301ms └─Systemd-tmpfiles-setup.usługa @4.485s +69ms └─ RHEL-Import-State.usługa @4.342S +142 ms └─local-FS.Target @4.324S └─Boot.Mocować @4.286s +31ms └─ [e-mail chroniony] \ x2Duuid-79f594ad \ x2DA332 \ x2d4730 \ x2db5f \ x2d85d19608096 └ xDev-Disk-By \ x2duuid-79f594ad \ x2DDA3322s x2d476 └ x 22d5d4730 x x2d8d4730 x x2d8d4730 x x2d8d4730 x x2d8d4730 'x x 2dsb.urządzenie @4 

Ważny: Systemctl przyjmuje usługi (.praca), MONT PUNKT (.uchwyt), Gniazda (.gniazdo elektryczne) i urządzenia (.urządzenie) jako jednostki.

7. Wymień wszystkie dostępne jednostki.

# SystemCtl List-Unit-Files Plik jednostki stan Proc-Sys-FS-Binfmt_misc.Automount statyczny dev-hugepages.Ustaw statyczny dev-mqueue.Mount Static Proc-Sys-FS-Binfmt_misc.Zamontuj statyczne połączenia SYS-FS-FUSE.Mount SYS-KRENEL-CONFIG.Zamontować statyczny sys-kernel-debug.Zamontować statyczny TMP.Zamontować niepełnosprawne Brandbot.Wyłączona ścieżka… 

8. Wypisz wszystkie jednostki działające.

# SystemCtl List-Units Ładowanie jednostki Aktywne opis Proc-Sys-FS-Binfmt_misc.Automount Załadowany aktywny oczekiwanie dowolne pliki wykonywalne formaty plików Syste Syste Syss-Devices-PC… 0-1: 0: 0: 0-block-SR0.Załadowany urządzenie Active podłączony vbox_cd-rom sys-devices-pc…: 00: 03.0-Net-ENP0S3.Załadowany urządzenie Active Conked Pro/1000 MT Adapter SYS-Devices-PC… 00:05.0-dźwignia-karda0.Aktywne podłączone urządzeniem 82801AA AC'97 kontroler audio SYS-Devices-PC…: 0: 0-block-SDA-SDA1.Załadowane urządzenie Active podłączone vbox_harddisk sys-devices-pc…: 0: 0-block-sda-sda2.Załadowane urządzenie Aktywne podłączone LVM PV QZYO3L-QYAL-sua-cjuk-pljo-qktx-vgbq8 sys-devices-pc… 0-2: 0: 0: 0-block-sda.Załadowane urządzenie Aktywne podłączone vbox_harddisk sys-devices-Pl… erial8250-tty-ttys0.Załadowane urządzenie aktywne podłączone/sys/urządzenia/platforma/serial8250/tty/ttys0 sys-devices-Pl… erial8250-tty-ttys1.Załadowane urządzenie aktywne podłączone/sys/urządzenia/platforma/serial8250/tty/ttys1 sys-devices-Pl… erial8250-tty-ttys2.Załadowane urządzenie aktywne podłączone/sys/urządzenia/platforma/serial8250/tty/ttys2 sys-devices-Pl… erial8250-tty-ttys3.Załadowane urządzenie aktywne podłączone/sys/urządzenia/platforma/serial8250/tty/ttys3 sys-devices-virtual-block-dm \ x2d0.Załadowane urządzenie aktywne podłączone/sys/urządzenia/Virtual/Block/DM-0 SYS-Devices-Virtual-Block-DM \ x2d1.Załadowane urządzenie aktywne podłączone/sys/urządzenia/Virtual/Block/DM-1 SYS-Module-Configfs.Załadowane urządzenie aktywne podłączone/sys/module/configfs… 

9. Lista wszystkich nieudanych jednostek.

# Systemctl -Failed  Obciążenie jednostki aktywny subsk KDUMP.Załadowany przez usługi nieudany nieudany rozdzielczość odzyskiwania jądra obciążenia uzbrojenia = odzwierciedla, czy definicja jednostki była odpowiednio załadowana. Aktywny = stan aktywacji jednostki wysokiego poziomu, i.mi. Uogólnienie sub. Sub = stan aktywacji jednostki niskiego poziomu, wartości zależą od typu jednostki. 1 Załadowane jednostki wymienione. Pass -wszystko to, aby zobaczyć załadowane, ale nieaktywne jednostki. Aby wyświetlić wszystkie zainstalowane pliki jednostkowe, użyj „SystemCtl List-Unit-Files”. 

10. Sprawdź, czy jednostka (Cron.praca) jest włączony lub nie?.

# Systemctl IS Crond.praca włączony 

11. Sprawdź, czy jednostka lub usługa działa, czy nie?.

# Status Systemctl Firewalld.praca Firewalld.Service - Firewald - Dynamic Firewall Daemon Załadowany: Załadowany (/usr/lib/systemd/System/Firewalld.praca; Włączone) Active: Active (Uruchamianie) Od wt. 2015-04-28 16:27:55 IST; 34min temu główny PID: 549 (zapora).Slice/Firewalld.Service └─549/usr/bin/python -es/usr/sbin/firewalld --Nofork --Nopid 28 kwietnia 16:27:51 Tecmint Systemd [1]: Rozpoczęcie zapory ogniowej -dynamiczny demon zapali ogniowej… 28 kwietnia 16:27: 55 TecMint Systemd [1]: Rozpoczęty zapora ogniowa - dynamiczny demon zapory. 

Kontroluj i zarządzaj usługami za pomocą SystemCtl

12. Wymień wszystkie usługi (w tym włączone i wyłączone).

# SystemCtl List-Unit-Files --Type = Service Plik jednostki ARP-ETHERS.Usługa Auditd.Usługa włączona [chroniona e-mail] wyłączona dostępność BLK.Usługa wyłączona Brandbot.Service Static Collectd.Usługa wyłączona konsoli.Usługa wyłączona-konsolowa-powłoka.Cpupower z wyłączoną usługą.Usługa Crond.Usługa włączona dbus-org.Fedoraproject.Firewalld1.Usługa włączona… 

13. Jak rozpocząć, ponownie uruchomić, zatrzymać, ponownie załadować i sprawdzić status usługi (httpd.praca) w Linux.

# Systemctl start httpd.praca # Systemctl restart httpd.praca # SystemCtl Stop Httpd.praca # SystemCtl RELOOD HTTPD.praca # Status SystemCtl Httpd.praca httpd.Usługa - załadowany serwer Apache HTTP: załadowany (/usr/lib/systemd/system/httpd.praca; włączone) aktywne: aktywny (bieganie) Od wtorek 2015-04-28 17:21:30 IST; 6s temu proces: 2876 execStop =/bin/kill -winch $ mainpid (kod = wychodzący, status = 0/Success) Główny PID: 2881 (httpd) Status: „Żądania przetwarzania…” Cgroup:/System).Slice/httpd.serwis ├─2881/usr/sbin/httpd -dforeground ├─2884/usr/sbin/httpd -dforeground ├─2885/usr/sbin/httpd -dforeground ├─2886/usr/sbin/httpd -dforeground ├lok2887/usr /sbin/httpd -dforeground └─2888/usr/sbin/httpd -dforeground 28 kwietnia 17:21:30 TecMint Systemd [1]: Uruchamianie serwera Apache Http… 28 kwietnia 17:21:30 TecMint Httpd [2881]: AH0055888 : HTTPD: Nie można wiarygodnie określić w pełni Q… SSAGE 28 kwietnia 17:21:30 TecMint Systemd [1]: Uruchom serwer Apache HTTP. Wskazówka: niektóre linie były elipsowane, użyj -l do pokazania w całości. 

Notatka: Kiedy używamy poleceń takich początek, uruchom ponownie, zatrzymywać się I przeładować Dzięki SystemCtl nie otrzymamy żadnych wyjściowych na terminalu, jedynym status Polecenie wydrukuje wyjście.

14. Jak aktywować usługę i włączyć lub wyłączyć usługę w czasie rozruchu (usługa Autostart w systemie).

# Systemctl IS-Active Httpd.praca # Systemctl Włącz HTTPD.praca # Systemctl wyłącz HTTPD.praca 

15. Jak maskować (uniemożliwiając rozpoczęcie) lub zdemaskować usługę (httpd.praca).

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

16. Jak zabić usługę za pomocą Command SystemCtl.

# SystemCtl Kill Httpd # Status SystemCtl Httpd httpd.Usługa - załadowany serwer Apache HTTP: załadowany (/usr/lib/systemd/system/httpd.praca; włączone) aktywne: nieudany (wynik: kod wyjścia) Od wtorek 2015-04-28 18:01:42 IST; 28 minut temu główny PID: 2881 (kod = wyjazd, status = 0/sukces) Status: „Całkowite żądania: 0; bieżące żądania/s: 0; bieżący ruch: 0 b/s” 28 kwietnia 17:37:29 TecMint Systemd [ 1]: httpd.Usługa: dostałem wiadomość o powiadomieniu od PID 2881, ale Recepti… krwawi. 28 kwietnia 17:37:29 Tecmint Systemd [1]: Httpd.Usługa: dostałem wiadomość o powiadomieniu od PID 2881, ale Recepti… krwawi. 28 kwietnia 17:37:39 Tecmint Systemd [1]: Httpd.Usługa: dostałem wiadomość o powiadomieniu od PID 2881, ale Recepti… krwawi. 28 kwietnia 17:37:39 Tecmint Systemd [1]: Httpd.Usługa: dostałem wiadomość o powiadomieniu od PID 2881, ale Recepti… krwawi. 28 kwietnia 17:37:49 Tecmint Systemd [1]: Httpd.Usługa: dostałem wiadomość o powiadomieniu od PID 2881, ale Recepti… krwawi. 28 kwietnia 17:37:49 Tecmint Systemd [1]: Httpd.Usługa: dostałem wiadomość o powiadomieniu od PID 2881, ale Recepti… krwawi. 28 kwietnia 17:37:59 Tecmint Systemd [1]: Httpd.Usługa: dostałem wiadomość o powiadomieniu od PID 2881, ale Recepti… krwawi. 28 kwietnia 17:37:59 Tecmint Systemd [1]: Httpd.Usługa: dostałem wiadomość o powiadomieniu od PID 2881, ale Recepti… krwawi. 28 kwietnia 18:01:42 Tecmint Systemd [1]: Httpd.Usługa: Proces kontroli Wyjczony, kod = status wyjściowy = 226 kwietnia 28:01:42 TecMint Systemd [1]: jednostka httpd.Wprowadzony przez usługę nieudany stan. Wskazówka: niektóre linie były elipsowane, użyj -l do pokazania w całości. 

Kontroluj i zarządzaj punktami montowania za pomocą SystemCtl

17. Wymień wszystkie punkty montowania systemu.

# SystemCtl List-Unit-Files-Type = montaż Plik jednostki stanowy.Ustaw statyczny dev-mqueue.Mount Static Proc-Sys-FS-Binfmt_misc.Zamontuj statyczne połączenia SYS-FS-FUSE.Mount SYS-KRENEL-CONFIG.Zamontować statyczny sys-kernel-debug.Zamontować statyczny TMP.zamontować wyłączone 

18. Jak zamontować, nie zrobić, ponownie, ponownie załadować punkty montażu systemu, a także sprawdzić status punktów montażu w systemie?

# SystemCtl Start TMP.uchwyt # SystemCtl Stop TMP.uchwyt # Systemctl restart TMP.uchwyt # SystemCtl Reload TMP.uchwyt # Status SystemCtl TMP.uchwyt TMP.Mocowanie - Załadowany katalog tymczasowy: Załadowany (/usr/lib/systemd/system/tmp.uchwyt; niepełnosprawne) aktywne: Aktywny (zamontowany) Od wtorek 2015-04-28 17:46:06 IST; 2min 48s temu gdzie:/tmp co: tmpfs dokumenty: człowiek: hier (7) http: // www.Freedesktop.ORG/Wiki/Software/Systemd/ApifileSystems Proces: 3908 execMount =/bin/Mount tmpfs/tmp -t tmpfs -o Tryb = 1777, Strictatime (kod = exited, status = 0/Success) kwiecień 28 17:46:06 TecMint Systemd [1]: montaż katalog tymczasowych… 28 kwietnia 17:46:06 TecMint Systemd [1]: TMP.Mount: Directory /TMP do montażu nie jest puste, i tak montaż. 28 kwietnia 17:46:06 Tecmint Systemd [1]: Montowany katalog tymczasowy. 

19. Jak aktywować, włączyć lub wyłączyć punkt mocowania w czasie rozruchu (automatyczne mocowanie w rozruchu systemowym).

# Systemctl IS-Active TMP.uchwyt # Systemctl Włącz TMP.uchwyt # Systemctl wyłącz TMP.uchwyt 

20. Jak maskować (uniemożliwiając uruchomienie) lub zdemaskować punkt mocowania w Linux.

# SystemCtl Mask TMP.uchwyt ln -s '/dev/null "/etc/systemd/system/tmp.Mount ' # SystemCtl Unmask TMP.uchwyt RM '/etc/Systemd/System/TMP.uchwyt' 

Kontroluj i zarządzaj gniazdkami za pomocą SystemCtl

21. Wymień wszystkie dostępne gniazda systemowe.

# SystemCtl List-Unit-Files-Type = gniazdo Plik jednostki stan DBU.Gniazdo statyczne DM-Event.Gniazdo włączone LVM2-LVMETAD.gniazdo włączone rsyncd.gniazdo wyłączone SSHD.Socket wyłączony syslog.Socket SystemD-initctl.Gniazdo statyczne systemd-Journald.Gniazdo statyczne systemd-shutdownd.Gniazdo statyczne systemd-udevd-control.Gniazdo Systemd-Eudevd-Nenel.Gniazdo wymienione plik statyczne 11 jednostek. 

22. Jak uruchomić, ponownie uruchomić, zatrzymać, ponownie załadować i sprawdzić status gniazda (przykład: kubki.gniazdo elektryczne) w Linux.

# SystemCtl uruchamia kubki.gniazdo elektryczne # Systemctl restartuj kubki.gniazdo elektryczne # SystemCtl STOP CUBS.gniazdo elektryczne # SystemCtl Reload Cups.gniazdo elektryczne # SystemCtl STATH CUPS.gniazdo elektryczne kubki.Gniazdo - Sniwi z drukowaniem kubków Załadowane: Załadowane (/usr/lib/lib/systemd/system/kubki.gniazdo elektryczne; włączone) aktywne: aktywne słuchanie) Od wtorek 2015-04-28 18:10:59 IST; 8s temu posłuchaj:/var/run/kubki/kubki.Sock (Stream) 28 kwietnia 18:10:59 Tecmint Systemd [1]: Startowe kubki do drukowania Gniazda serwisowe. 28 kwietnia 18:10:59 Tecmint Systemd [1]: Słuchanie na kubkach do drukowania gniazda serwisowego. 

23. Jak aktywować gniazdo i włączyć lub wyłączyć w czasie rozruchu (gniazdo autostart w rozruchu systemowym).

# SystemCtl IS-Active Cups.gniazdo elektryczne # SystemCtl Włącz kubki.gniazdo elektryczne # Systemctl wyłącz kubki.gniazdo elektryczne 

24. Jak maskować (uniemożliwiając uruchomienie) lub zdemaskować gniazdo (kubki.gniazdo elektryczne).

# SystemCtl Maski Cups.gniazdo elektryczne ln -s '/dev/null "/etc/systemd/system/kubki.gniazdo elektryczne' # SystemCtl Discak Cups.gniazdo elektryczne rm '/etc/systemd/system/kubki.gniazdo elektryczne' 
Strony: 1 2