Systemctl je systemd uslužni program koji je odgovoran za kontrolu systemd upravitelja sustava i usluga. Systemd je zbirka demona za upravljanje sustavom, pomoćnih programa i knjižnica koja služi kao zamjena za Pokretanje sustava V demon. Systemd funkcionira kao središnja platforma za upravljanje i konfiguraciju UNIX sustava.
U Linuxu, ekosustavu Systemd je implementiran na većini standardnih distribucija Linuxa, uz nekoliko iznimaka. Systemd je roditeljski proces svih drugih demona često, ali ne uvijek.
Ovaj članak ima za cilj rasvijetliti „Kako kontrolirati sustav i usluge”Na sustavu koji pokreće systemd.
1. Prvo provjerite je li systemd je instaliran na vašem sustavu ili nije, i koja je verzija trenutno instaliranog Systemd -a?
# systemctl --verzija sustav 215. +PAM +REVIZIJA +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR.
Iz gornjeg primjera jasno je da smo sistemski 215 verzija instalirana.
2. Provjerite gdje se nalaze binarne datoteke i knjižnice systemd i systemctl su instalirani.
# gdje je sustav systemd:/usr/lib/systemd/etc/systemd/usr/share/systemd /usr/share/man/man1/systemd.1.gz # gdje je systemctl systemctl:/usr/bin/systemctl /usr/share/man/man1/systemctl.1.gz.
3. Provjerite je li systemd radi ili ne.
# ps -eaf | grep [s] ystemd korijen 1 0 0 16:27? 00:00:00/usr/lib/systemd/systemd --switched-root --system --deserialize 23. korijen 444 1 0 16:27? 00:00:00/usr/lib/systemd/systemd-journald. korijen 469 1 0 16:27? 00:00:00/usr/lib/systemd/systemd-udevd. korijen 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.
Obavijest: systemd radi kao nadređeni demon (PID = 1). U gornjoj naredbi p.s sa (-e) odaberite sve procese, (-a) odaberite sve procese osim voditelja sesija i ((-f) za popis u punom formatu (tj. -lišće).
Također, imajte na umu uglate zagrade u gornjem primjeru i ostale primjere koje treba slijediti. Izraz uglatih zagrada dio je grepovog podudaranja uzoraka klase znakova.
4. Analizirajte postupak pokretanja sustava.
# systemd-analizirati Pokretanje je završeno za 487 ms (kernel) + 2,776s (initrd) + 20,229s (korisnički prostor) = 23,493s.
5. Analizirajte vrijeme potrebno za svaki proces pri pokretanju.
# systemd-analizirati krivnju 8.565s mariadb.usluga. 7.991s webmin.service. 6.095s postfix.service. 4.311s httpd.service. 3.926s firewalld.usluga. 3.780s kdump.usluga. 3.238s podešeno.usluga. 1.712s mreža.usluga. 1.394s lvm2-monitor.usluga. 1.126s systemd-logind.service...
6. Analizirajte kritični lanac pri pokretanju.
# systemd-analizirati kritički lanac Vrijeme nakon što je jedinica aktivna ili pokrenuta ispisuje se iza znaka "@". Vrijeme koje je jedinici potrebno za početak tiska se nakon znaka "+". višekorisnički cilj @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 └─[zaštićena e -pošta]\ x2duuid-79f594ad \ x2da332 \ x2d4730 \ x2dbb5f \ x2d85d19608096 └─dev-disk-by \ x2duuid-79f594ad \ x2da332 \ x2d4730 \ x2dbb5f \ x2d85d196080964.device
Važno: Systemctl prihvaća usluge (.servis), mjesto montiranja (.montirati), utičnice (.utičnica) i uređaji (.uređaj) kao jedinice.
7. Navedite sve dostupne jedinice.
# systemctl popis-jedinica-datoteka UNIT FILE STATE proc-sys-fs-binfmt_misc.automount static dev-hugepages.mount static dev-mqueue.mount static proc-sys-fs-binfmt_misc.mount statički sys-fs-osigurač-veze.mount statička sys-kernel-config.mount statička sys-kernel-debug.mount statički tmp.mount onemogućen. brandbot.path onemogućen...
8. Navedite sve pokrenute jedinice.
# systemctl popis-jedinica OPIS UČITANJA JEDINICE AKTIVNI PODPIS. proc-sys-fs-binfmt_misc.automount učitan aktivno čekanje Proizvoljni izvršni formati datoteka Sustav datoteka. sys-devices-pc... 0-1: 0: 0: 0-block-sr0.device učitano aktivno priključeno VBOX_CD-ROM. sys-devices-pc...: 00: 03.0-net-enp0s3.device učitan aktivni priključeni PRO/1000 MT stolni adapter. sys-devices-pc... 00: 05.0-sound-card0.device loaded active plugged 82801AA AC'97 Audio Controller. sys-devices-pc...: 0: 0-block-sda-sda1.device učitano aktivno priključeno VBOX_HARDDISK. sys-devices-pc...: 0: 0-block-sda-sda2.device učitano aktivno priključeno LVM PV Qzyo3l-qYaL-uRUa-Cjuk-pljo-qKtX-VgBQ8. sys-devices-pc... 0-2: 0: 0: 0-block-sda.device učitano aktivno priključeno VBOX_HARDDISK. sys-devices-pl... erial8250-tty-ttyS0.device učitano aktivno priključeno/sys/devices/platform/serial8250/tty/ttyS0. sys-devices-pl... erial8250-tty-ttyS1.device učitano aktivno priključeno/sys/devices/platform/serial8250/tty/ttyS1. sys-devices-pl... erial8250-tty-ttyS2.device učitano aktivno priključeno/sys/devices/platform/serial8250/tty/ttyS2. sys-devices-pl... erial8250-tty-ttyS3.device učitano aktivno priključeno/sys/devices/platform/serial8250/tty/ttyS3. sys-devices-virtual-block-dm \ x2d0.device učitan aktivni plug/sys/devices/virtual/block/dm-0. sys-devices-virtual-block-dm \ x2d1.device učitan aktivni plug/sys/devices/virtual/block/dm-1. sys-module-configfs.device učitano aktivno uključeno/sys/module/configfs...
9. Navedite sve neuspjele jedinice.
# systemctl -neuspješno. OPIS UČITANJA JEDINICE AKTIVNI PODPIS. kdump.service loaded failed nije uspio Naoružavanje jezgre obnavljanja rušenja LOAD = Odražava je li definicija jedinice pravilno učitana. ACTIVE = Stanje aktivacije jedinice na visokoj razini, tj. Generalizacija SUB-a. SUB = Stanje aktivacije jedinice niske razine, vrijednosti ovise o vrsti jedinice. Na popisu je 1 učitana jedinica. Prođite -sve da vidite učitane, ali neaktivne jedinice. Za prikaz svih instaliranih datoteka jedinica koristite 'systemctl list-unit-files'.
10. Provjerite je li jedinica (cron.service) je omogućeno ili nije ?.
# systemctl je omogućen crond.service omogućeno.
11. Provjerite radi li jedinica ili usluga ili ne ?.
# systemctl status firewalld.service firewalld.service - firewalld - demon dinamičkog vatrozida Učitano: učitano (/usr/lib/systemd/system/firewalld.service; omogućeno) Aktivno: aktivno (radi) od utorka 2015-04-28 16:27:55 IST; Prije 34 minute Glavni PID: 549 (firewalld) CGroup: /system.slice/firewalld.service └─549/usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid 28. travnja 16:27:51 tecmint systemd [1]: Pokretanje firewalld -dinamički vatrozid demon... 28. travnja 16:27:55 tecmint systemd [1]: Pokrenut firewalld - dinamički demon vatrozida.
12. Navedite sve usluge (uključujući omogućene i onemogućene).
# systemctl list-unit-files --type = service UNIT FILE STATE arp-ethers.service onemogućena. auditd.service omogućena [zaštićena e -pošta] onemogućeno. blk-availability.usluga onemogućena. brandbot.service statički prikupljanjed.sluga onemogućena. console-getty.usluga onemogućena. console-shell.usluga onemogućena. cpupower.service onemogućena. crond.service omogućen dbus-org.fedoraproject. FirewallD1.usluga omogućena...
13. Kako pokrenuti, ponovno pokrenuti, zaustaviti, ponovno učitati i provjeriti status usluge (httpd.service) u Linuxu.
# systemctl pokrenite httpd.service # systemctl ponovno pokrenite httpd.service # systemctl stop httpd.service # systemctl ponovno učitavanje httpd.service # systemctl status httpd.service httpd.service - Apache HTTP poslužitelj učitan: učitan (/usr/lib/systemd/system/httpd.service; omogućeno) Aktivno: aktivno (trčanje) od utorka 2015-04-28 17:21:30 IST; Prije 6s Proces: 2876 ExecStop =/bin/kill -WINCH $ {MAINPID} (kod = izašao, status = 0/SUCCESS) Glavni PID: 2881 (httpd) Status: "Obrada zahtjeva ..." CGroup: /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. travnja 17:21:30 tecmint systemd [1]: Pokretanje Apachea HTTP poslužitelj... 28. travnja 17:21:30 tecmint httpd [2881]: AH00558: httpd: Nije se moglo pouzdano utvrditi potpuno q... poruka poslužitelja. 28. travnja 17:21:30 tecmint systemd [1]: Pokrenuo Apache HTTP poslužitelj. Savjet: Neki su retci elipsirani, koristite -l za prikaz u cijelosti.
Bilješka: Kad koristimo naredbe poput početak, ponovno pokretanje, Stop i ponovno učitati sa systemctl, nećemo dobiti izlaz na terminalu, jedinom status naredba će ispisati izlaz.
14. Kako aktivirati uslugu i omogućiti ili onemogućiti uslugu tijekom pokretanja (usluga automatskog pokretanja pri pokretanju sustava).
# systemctl je aktivna httpd.service # systemctl omogućiti httpd.service # systemctl onemogući httpd.service
15. Kako maskirati (onemogućavajući pokretanje) ili demaskirati uslugu (httpd.service).
# systemctl maska httpd.service ln -s '/dev/null' '/etc/systemd/system/httpd.service' # systemctl demaskira httpd.service rm '/etc/systemd/system/httpd.service'
16. Kako ubiti uslugu pomoću naredbe systemctl.
# systemctl ubiti httpd # systemctl status httpd httpd.service - Apache HTTP poslužitelj učitan: učitan (/usr/lib/systemd/system/httpd.service; omogućeno) Aktivno: nije uspjelo (rezultat: izlazni kod) od utorka 2015-04-28 18:01:42 IST; Prije 28 minuta Glavni PID: 2881 (kôd = izašao, status = 0/USPJEH) Status: "Ukupno zahtjeva: 0; Trenutni zahtjevi/sek: 0; Trenutni promet: 0 B/sec "28. travnja 17:37:29 tecmint systemd [1]: httpd.service: Dobio sam obavijest od PID -a 2881, ali je primljeno... krvarenje. 28. travnja 17:37:29 tecmint systemd [1]: httpd.service: Dobila sam poruku obavijesti od PID -a 2881, ali je primila... krvarenje. 28. travnja 17:37:39 tecmint systemd [1]: httpd.service: Dobila sam poruku obavijesti od PID 2881, ali je primila... krvarenje. 28. travnja 17:37:39 tecmint systemd [1]: httpd.service: Dobila sam poruku obavijesti od PID 2881, ali je primila... krvarenje. 28. travnja 17:37:49 tecmint systemd [1]: httpd.service: Dobila sam poruku obavijesti od PID -a 2881, ali je primila... krvarenje. 28. travnja 17:37:49 tecmint systemd [1]: httpd.service: Dobila sam poruku obavijesti od PID -a 2881, ali je primila... krvarenje. 28. travnja 17:37:59 tecmint systemd [1]: httpd.service: Dobila sam obavijest od PID -a 2881, ali je primila... krvarenje. 28. travnja 17:37:59 tecmint systemd [1]: httpd.service: Dobila sam obavijest od PID -a 2881, ali je primila... krvarenje. 28. travnja 18:01:42 tecmint systemd [1]: httpd.service: proces kontrole je izašao, kod = izlaz iz statusa = 226. 28. travnja 18:01:42 tecmint systemd [1]: Jedinica httpd.service ušla je u stanje neuspjeha. Savjet: Neki su retci elipsirani, koristite -l za prikaz u cijelosti.
17. Navedite sve točke montiranja sustava.
# 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 statička sys-kernel-config.mount statička sys-kernel-debug.mount statička tmp.mount onemogućeno.
18. Kako mogu montirati, demontirati, ponovno montirati, ponovno učitati točke montiranja sustava, a također provjeriti status točaka montiranja na sustavu?
# systemctl start tmp.mount # systemctl stop tmp.mount # systemctl ponovno pokretanje tmp.mount # systemctl ponovno učitavanje tmp.mount # systemctl status tmp.mount tmp.mount - Privremeni direktorij učitan: učitan (/usr/lib/systemd/system/tmp.mount; onemogućeno) Aktivno: aktivno (montirano) od utorka 2015-04-28 17:46:06 IST; Prije 2 minute 48s Gdje: /tmp Što: tmpfs Dokumenti: muškarac: hier (7) http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems Postupak: 3908 ExecMount =/bin/mount tmpfs/tmp -t tmpfs -o mode = 1777, strictatime (code = exited, status = 0/SUCCESS) 28. travnja 17:46:06 tecmint systemd [1]: Montiranje privremenog imenika... 28. travnja 17:46:06 tecmint systemd [1]: tmp.mount: Imenik /tmp za montiranje nije prazan, svejedno se montira. 28. travnja 17:46:06 tecmint systemd [1]: Montirani privremeni direktorij.
19. Kako aktivirati, omogućiti ili onemogućiti točku montiranja za vrijeme pokretanja (automatsko montiranje pri pokretanju sustava).
# systemctl je aktivan tmp.mount # systemctl omogućiti tmp.mount # systemctl onemogući tmp.mount
20. Kako maskirati (onemogućavajući pokretanje) ili demaskirati točku montiranja u Linuxu.
# systemctl maska tmp.mount ln -s '/dev/null' '/etc/systemd/system/tmp.mount' # systemctl razotkriti tmp.mount rm '/etc/systemd/system/tmp.mount'
21. Navedite sve dostupne sistemske utičnice.
# systemctl list-unit-files --type = socket UNIT FILE STATE dbus.socket statički dm-event.socket omogućen lvm2-lvmetad.socket omogućen rsyncd.socket onemogućen. sshd.socket onemogućen. syslog.socket statički sustavd-initctl.socket statički sustavd-journald.socket statički systemd-shutdownd.socket statički systemd-udevd-control.socket statički systemd-udevd-kernel.socket statički Navedeno je 11 datoteka jedinica.
22. Kako pokrenuti, ponovno pokrenuti, zaustaviti, ponovno učitati i provjeriti status utičnice (primjer: šalice.utičnica) u Linuxu.
# systemctl startne čaše.podnožje # systemctl čaše za ponovno pokretanje.podnožje # systemctl zaustavne čaše.podnožje # systemctl čaše za ponovno punjenje.podnožje # systemctl status čaše.podnožje cup.socket - CUPS utičnice za usluge ispisa Učitane: učitane (/usr/lib/systemd/system/cups.socket; omogućeno) Aktivno: aktivno slušanje) od utorka 2015-04-28 18:10:59 IST; Prije 8s Slušajte: /var/run/cups/cups.sock (Stream) 28. travnja 18:10:59 tecmint systemd [1]: Pokretanje uslužnih utičnica za ispis CUPS. 28. travnja 18:10:59 tecmint systemd [1]: Slušanje na utičnicama CUPS Printing Service.
23. Kako aktivirati utičnicu i omogućiti ili onemogućiti vrijeme pokretanja (utičnica za automatsko pokretanje pri pokretanju sustava).
# systemctl is-aktivne čaše.podnožje # systemctl omogućiti čaše.podnožje # systemctl onemogućiti čaše.podnožje
24. Kako maskirati (onemogućavajući pokretanje) ili raskrinkati utičnicu (cup.socket).
# systemctl šalice za masku.podnožje ln -s '/dev/null' '/etc/systemd/system/cups.socket' # systemctl razotkriti čaše.podnožje rm '/etc/systemd/system/cups.socket'