Systemctl är en systemd verktyg som är ansvarigt för att kontrollera systemd system- och servicechef. Systemd är en samling systemhanteringsdemoner, verktyg och bibliotek som fungerar som en ersättning för System V init demon. Systemd fungerar som central hanterings- och konfigurationsplattform för UNIX -liknande system.
I Linux, ekosystem Systemd har implementerats på det mesta av standard Linux -distribution med några få undantag. Systemd är moderprocessen för alla andra demoner ofta men inte alltid.
Denna artikel syftar till att kasta ljus på "Så här kontrollerar du system och tjänster”På ett system som kör systemd.
1. Kontrollera först om systemd är installerat på ditt system eller inte, och vilken version av det för närvarande installerade Systemd?
# systemctl -version systemd 215. +PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR.
Det framgår av exemplet ovan att vi har systemd 215 version installerad.
2. Kontrollera var binärfilerna och biblioteken finns systemd och systemctl är installerade.
# var är systemd systemd:/usr/lib/systemd/etc/systemd/usr/share/systemd /usr/share/man/man1/systemd.1.gz # var är systemctl systemctl:/usr/bin/systemctl /usr/share/man/man1/systemctl.1.gz.
3. Kolla vädret systemd körs eller inte.
# ps -eaf | grep [s] ystemd rot 1 0 0 16:27? 00:00:00/usr/lib/systemd/systemd-switched-root --system-deserialisera 23. rot 444 1 0 16:27? 00:00:00/usr/lib/systemd/systemd-journald. rot 469 1 0 16:27? 00:00:00/usr/lib/systemd/systemd-udevd. rot 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-aktivering.
Lägga märke till: systemd körs som överordnad demon (PID = 1). I kommandot ovan ps med (-e) välj alla processer, (-a) välj alla processer utom sessionsledare och (-f) för lista i fullständigt format (dvs. -örv).
Notera också de hakparenteser i exemplet ovan och resten av exemplen som följer. Square Bracket -uttryck är en del av greps mönstermatchning av teckenklass.
4. Analysera systemd startprocess.
# system-analysera Starten slutfördes på 487 ms (kärna) + 2.776s (initrd) + 20.229s (userpace) = 23.493s.
5. Analysera tiden det tar för varje process vid start.
# systemd-analysera skulden 8.565s mariadb.service. 7,991s webmin.service. 6.095s postfix.service. 4.311s httpd.service. 3.926s firewalld.service. 3.780 -talet kdump.service. 3.238s tuned.service. 1.712s nätverksservice. 1.394s lvm2-monitor.service. 1.126s systemd-logind.service...
6. Analysera kritisk kedja vid start.
# systemd-analysera kritisk kedja Tiden efter att enheten är aktiv eller startas skrivs ut efter "@" -tecknet. Den tid det tar att starta enheten skrivs ut efter tecknet "+". multi-user.target @20.222s. └─mariadb.service @11.657s +8.565s └─network.target @11.168s └─network.service @9.456s +1.712s └─NetworkManager.service @8.858s +596ms └─firewalld.service @4.931s +3.926s └─basic.target @4.916s └─sockets.target @4.916s └─dbus.socket @4.916s └─sysinit.target @4.905s └─systemd-update-utmp.service @4.864s +39 ms └─auditd.service @4.563s +301ms └─systemd-tmpfiles-setup.service @4.485s +69ms └─rhel-import-state.service @4.342s +142ms └─local-fs.target @4.324s └─ boot.mount @4.286s +31ms └─[e -postskyddad]\ x2duuid-79f594ad \ x2da332 \ x2d4730 \ x2dbb5f \ x2d85d19608096 └─dev-disk-by \ x2duuid-79f594ad \ x2da332 \ x2d4730 \ x2dbb5f \ x2d85d196080964.device @4.
Viktig: Systemctl accepterar tjänster (.service), monteringspunkt (.montera), uttag (.uttag) och enheter (.enhet) som enheter.
7. Lista alla tillgängliga enheter.
# systemctl list-unit-files UNIT FILE STATE proc-sys-fs-binfmt_misc.automount static dev-hugepages.mount static dev-mqueue.mount static proc-sys-fs-binfmt_misc.mount static sys-fs-fuse-connections.mount static sys-kernel-config.mount static sys-kernel-debug.mount statisk tmp.mount inaktiverad. brandbot.path inaktiverad...
8. Lista alla löpande enheter.
# systemctl list-enheter ENHETSLAST AKTIV DELBESKRIVNING. proc-sys-fs-binfmt_misc.automount laddad aktiv väntande Vilket godtyckligt körbart filformat Filsyste. sys-devices-pc... 0-1: 0: 0: 0-block-sr0.enhet laddad aktiv ansluten VBOX_CD-ROM. sys-devices-pc...: 00: 03.0-net-enp0s3.enhet laddad aktiv ansluten PRO/1000 MT Desktop Adapter. sys-devices-pc... 00: 05.0-sound-card0.enhet laddad aktiv ansluten 82801AA AC'97 ljudkontroller. sys-devices-pc...: 0: 0-block-sda-sda1.enhet laddad aktiv ansluten VBOX_HARDDISK. sys-devices-pc...: 0: 0-block-sda-sda2.enhet laddad aktiv ansluten LVM PV Qzyo3l-qYaL-uRUa-Cjuk-pljo-qKtX-VgBQ8. sys-devices-pc... 0-2: 0: 0: 0: 0-block-sda.enhet laddad aktiv ansluten VBOX_HARDDISK. sys-devices-pl... erial8250-tty-ttyS0.enhet laddad aktiv ansluten/sys/enheter/plattform/serial8250/tty/ttyS0. sys-devices-pl... erial8250-tty-ttyS1.enhet laddad aktiv ansluten/sys/enheter/plattform/serial8250/tty/ttyS1. sys-devices-pl... erial8250-tty-ttyS2.enhet laddad aktiv ansluten/sys/enheter/plattform/serial8250/tty/ttyS2. sys-devices-pl... erial8250-tty-ttyS3.enhet laddad aktiv ansluten/sys/enheter/plattform/serial8250/tty/ttyS3. sys-devices-virtual-block-dm \ x2d0.enhet laddad aktiv pluggad/sys/devices/virtual/block/dm-0. sys-devices-virtual-block-dm \ x2d1.enhet laddad aktiv pluggad/sys/devices/virtual/block/dm-1. sys-module-configfs.device laddad aktiv pluggad/sys/module/configfs...
9. Lista alla misslyckade enheter.
# systemctl -misslyckades. ENHETSLAST AKTIV DELBESKRIVNING. kdump.service laddade misslyckades misslyckades Crash recovery kernel arming LOAD = Avspeglar om enhetsdefinitionen var korrekt laddad. AKTIV = Aktiveringsstatus på hög nivå, dvs generalisering av SUB. SUB = Aktiveringsstatus för låg nivå, värden beror på enhetstyp. 1 laddade enheter listade. Pass -alla för att se laddade men inaktiva enheter också. För att visa alla installerade enhetsfiler använder du 'systemctl list-unit-files'.
10. Kontrollera om en enhet (cron.service) är aktiverat eller inte ?.
# systemctl är aktiverat crond.service aktiverad.
11. Kontrollera om en enhet eller tjänst körs eller inte ?.
# systemctl -status firewalld.service firewalld.service - firewalld - dynamisk brandväggsdemon Lastad: laddad (/usr/lib/systemd/system/firewalld.service; aktiverad) Aktiv: aktiv (igång) sedan tis 2015-04-28 16:27:55 IST; 34min sedan Main PID: 549 (firewalld) CGrupp: /system.slice/firewalld.service └─549/usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid 28 april 16:27:51 tecmint systemd [1]: Starta firewalld -dynamisk brandvägg demon... 28 apr 16:27:55 tecmint systemd [1]: Startade firewalld - dynamisk brandväggsdemon.
12. Lista alla tjänster (inklusive aktiverade och inaktiverade).
# systemctl list-unit-files --type = service UNIT FILE STATE arp-ethers.service inaktiverad. auditd.service aktiverat [e -postskyddad] Inaktiverad. blk-availability.service inaktiverad. brandbot.service statisk collectd.service inaktiverad. console-getty.service inaktiverad. console-shell.service inaktiverad. cpupower.service inaktiverad. crond.service aktiverat dbus-org.fedoraproject. FirewallD1.service aktiverad...
13. Hur startar jag, startar om, stoppar, laddar om och kontrollerar status för en tjänst (httpd.service) i Linux.
# systemctl starta httpd.service # systemctl startar om httpd.service # systemctl stoppa httpd.service # systemctl ladda om httpd.service # systemctl status httpd.service httpd.service - Apache HTTP -servern laddad: laddad (/usr/lib/systemd/system/httpd.service; aktiverad) Aktiv: aktiv (kör) sedan tis 2015-04-28 17:21:30 IST; 6s sedan Process: 2876 ExecStop =/bin/kill -WINCH $ {MAINPID} (kod = avslutad, status = 0/SUCCESS) Huvud -PID: 2881 (httpd) Status: "Bearbetar förfrågningar ..." CGrupp: /system.slice/httpd.service ├─2881/usr/sbin/httpd -DFOREGROUND ├─2884/usr/sbin/httpd -DFOREGROUND ├─2885/usr/sbin/httpd -DFOREGROUND ├─2886 /usr/sbin/httpd -DFOREGROUND ├─2887/usr/sbin/httpd -DFOREGROUND └─2888/usr/sbin/httpd -DFOREGROUND 28 april 17:21:30 tecmint systemd [1]: Starta Apache HTTP -server... 28 apr 17:21:30 tecmint httpd [2881]: AH00558: httpd: Det gick inte att på ett tillförlitligt sätt fastställa serverns fullständiga qsage. 28 apr 17:21:30 tecmint systemd [1]: Startade Apache HTTP -servern. Tips: Vissa linjer var ellipsade, använd -l för att visa i sin helhet.
Notera: När vi använder kommandon som Start, omstart, sluta och ladda om med systemctl får vi ingen utgång på terminalen, den enda status kommandot skriver ut utmatningen.
14. Hur man aktiverar en tjänst och aktiverar eller inaktiverar en tjänst vid starttid (autostarttjänst vid systemstart).
# systemctl är-aktiv httpd.service # systemctl aktivera httpd.service # systemctl inaktivera httpd.service
15. Hur man maskerar (gör det omöjligt att starta) eller maskerar en tjänst (httpd.service).
# systemctl mask httpd.service ln -s '/dev/null' '/etc/systemd/system/httpd.service' # systemctl avmaskera httpd.service rm '/etc/systemd/system/httpd.service'
16. Hur man dödar en tjänst med systemctl -kommandot.
# systemctl döda httpd # systemctl status httpd httpd.service - Apache HTTP -servern laddad: laddad (/usr/lib/systemd/system/httpd.service; aktiverad) Aktiv: misslyckades (Resultat: utgångskod) sedan tis 2015-04-28 18:01:42 IST; 28min sedan Main PID: 2881 (kod = avslutad, status = 0/SUCCESS) Status: "Totalt antal förfrågningar: 0; Aktuella förfrågningar/sek: 0; Nuvarande trafik: 0 B/sek "28 april 17:37:29 tecmint systemd [1]: httpd.service: Fick aviseringsmeddelande från PID 2881, men mottog... blödning. 28 apr 17:37:29 tecmint systemd [1]: httpd.service: Fick aviseringsmeddelande från PID 2881, men mottog... blödning. 28 apr 17:37:39 tecmint systemd [1]: httpd.service: Fick aviseringsmeddelande från PID 2881, men mottog... blödde. 28 apr 17:37:39 tecmint systemd [1]: httpd.service: Fick aviseringsmeddelande från PID 2881, men mottog... blödde. 28 apr 17:37:49 tecmint systemd [1]: httpd.service: Fick aviseringsmeddelande från PID 2881, men mottog... blödning. 28 apr 17:37:49 tecmint systemd [1]: httpd.service: Fick aviseringsmeddelande från PID 2881, men mottog... blödning. 28 apr 17:37:59 tecmint systemd [1]: httpd.service: Fick aviseringsmeddelande från PID 2881, men mottog... blödning. 28 apr 17:37:59 tecmint systemd [1]: httpd.service: Fick aviseringsmeddelande från PID 2881, men mottog... blödning. 28 apr 18:01:42 tecmint systemd [1]: httpd.service: kontrollprocess avslutad, kod = avslutad status = 226. 28 apr 18:01:42 tecmint systemd [1]: Enhetens httpd.service angav misslyckat tillstånd. Tips: Vissa linjer var ellipsade, använd -l för att visa i sin helhet.
17. Lista alla systemmonteringspunkter.
# systemctl list-unit-files --type = mount UNIT FILE STATE dev-hugepages.mount static dev-mqueue.mount static proc-sys-fs-binfmt_misc.mount static sys-fs-fuse-connections.mount static sys-kernel-config.mount static sys-kernel-debug.mount static tmp.mount Inaktiverad.
18. Hur kan jag montera, avmontera, återmontera, ladda om systemmonteringspunkter och kontrollera status för monteringspunkter på systemet?
# systemctl start tmp.mount # systemctl stopp tmp.mount # systemctl starta om tmp.mount # systemctl ladda om tmp.mount # systemctl status tmp.mount tmp.mount - Temporary Directory Loaded: laddad (/usr/lib/systemd/system/tmp.mount; inaktiverad) Aktiv: aktiv (monterad) sedan tis 2015-04-28 17:46:06 IST; 2min 48s sedan Var: /tmp Vad: tmpfs Dokument: man: hier (7) http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems Process: 3908 ExecMount =/bin/mount tmpfs/tmp -t tmpfs -o mode = 1777, strictatime (code = exited, status = 0/SUCCESS) 28 apr 17:46:06 tecmint systemd [1]: Montering Temporary Directory... 28 apr 17:46:06 tecmint systemd [1]: tmp.mount: Katalog /tmp att montera över är inte tom, montering ändå. 28 apr 17:46:06 tecmint systemd [1]: Monterad tillfällig katalog.
19. Hur man aktiverar, aktiverar eller inaktiverar en monteringspunkt vid starttid (automatisk montering vid systemstart).
# systemctl är-aktiv tmp.mount # systemctl aktivera tmp.mount # systemctl inaktivera tmp.mount
20. Hur man maskerar (gör det omöjligt att starta) eller maskerar en monteringspunkt i Linux.
# systemctl mask tmp.mount ln -s '/dev/null' '/etc/systemd/system/tmp.mount' # systemctl avmaskera tmp.mount rm '/etc/systemd/system/tmp.mount'
21. Lista alla tillgängliga systemuttag.
# systemctl list-unit-files --type = socket UNIT FILE STATE dbus.socket static dm-event.socket enabled lvm2-lvmetad.socket enabled rsyncd.socket inaktiverat. sshd.socket inaktiverat. syslog.socket statisk systemd-initctl.socket statisk systemd-journald.socket statisk systemd-shutdownd.socket statisk systemd-udevd-control.socket statisk systemd-udevd-kernel.socket statisk 11 enhetsfiler listade.
22. Hur startar jag, startar om, stoppar, laddar om och kontrollerar status för ett uttag (exempel: koppar. hylsa) i Linux.
# systemctl startkoppar. hylsa # systemctl starta om cups.socket # systemctl stoppkoppar. uttag # systemctl ladda om koppar. hylsa # systemctl status cups.socket cups.socket - CUPS Printing Service Sockets Loaded: laddad (/usr/lib/systemd/system/cups.socket; aktiverad) Aktiv: aktivt lyssnande) sedan tis 2015-04-28 18:10:59 IST; 8s sedan Lyssna: /var/run/cups/cups.sock (Stream) 28 apr 18:10:59 tecmint systemd [1]: Startar CUPS Printing Service Sockets. 28 apr 18:10:59 tecmint systemd [1]: Lyssnar på CUPS Printing Service Sockets.
23. Hur man aktiverar ett uttag och aktiverar eller inaktiverar vid starttid (autostartuttag vid systemstart).
# systemctl är-aktiv koppar. hylsa # systemctl aktivera cups.socket # systemctl inaktivera koppar. uttag
24. Hur man maskerar (vilket gör det omöjligt att starta) eller maskerar ett uttag (koppar. Uttag).
# systemctl maskkoppar. hylsa ln -s '/dev/null' '/etc/systemd/system/cups.socket' # systemctl maskera koppar. hylsa rm '/etc/systemd/system/cups.socket'