Ako spravovať služby Systemd pomocou Systemctl?

Predvolený správca systémov a služieb pre väčšinu distribúcií Linuxu je teraz systemd.


Proces systemd nahrádza init SysV. Spustí sa ako prvý proces po zavedení jadra a je zodpovedný za uvedenie hostiteľa systému Linux do stavu, v ktorom sa dá použiť. Je zodpovedný za spúšťanie a správu služieb, montáž súborových systémov, správu hardvéru, generovanie výzvy na prihlásenie a mnoho ďalšieho.

Kľúčovou výhodou oproti systému SysV je to, že systémd spúšťa paralelne toľko služieb, ako je to len možné, čím sa zrýchľuje proces spúšťania, a tým sa zrýchľuje prihlasovacia obrazovka..

Jednotky

Položky, ktoré sú spravované systémom, sa nazývajú jednotky. Súbory jednotiek sa nachádzajú v adresári / lib / systemd / system.

Servisné jednotky

Pre správu služieb sú cieľovými jednotkami servisné jednotky, ktoré majú súbory jednotiek s príponou .služba.

Riadenie služieb systemd

Príkaz na správu jednotiek systemd je systemctl.

Spustenie a zastavenie služieb

Na spustenie služby systemd použite príkaz systemctl start:

$ sudo systemctl start name.service

Príponu .service môžete opustiť. Napríklad spustenie servera apache na Ubuntu:

$ sudo systemctl start apache2

Zastavenie bežiacej služby:

$ sudo systemctl stop name.service

Ak chcete zastaviť server apache na Ubuntu:

$ sudo systemctl stop apache2

Reštartovacie a obnovovacie služby

Ak chcete reštartovať spustenú službu, použite príkaz na reštart:

$ sudo systemctl restart name.service

A tam, kde je potrebný jediný obnovovací konfiguračný súbor

$ sudo systemctl reload name.service

Povolenie a zakázanie služieb

Ak chcete, aby sa služba spustila automaticky pri štarte systému, použite príkaz enable:

$ sudo systemctl povoľte name.service

Ak chcete zakázať spustenie služby pri zavádzaní systému:

$ sudo systemctl vypnite meno.service

Zakázaním sa nezastaví bežiaca služba.

Zobrazenie stavu služby

Zobrazenie informácií o službe:

$ sudo systemctl status name.service

Ukáže vám stav služby a prvých niekoľko riadkov protokolového súboru. Takže keď je služba spustená, výstup je

sudo systemctl status apache2

je

apache2.service – HTTP server Apache
Načítané: načítané (/lib/systemd/system/apache2.service; enabled; predvoľba dodávateľa: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Aktívne: aktívne (beží) od Ut 2020-05-19 22:11:36 UTC; Pred 4 dňami
Proces: 116002 ExecReload = / usr / sbin / apachectl ladný (kód = ukončený, status = 0 / SUCCESS)
Hlavný PID: 104165 (apache2)
Úlohy: 55 (limit: 1024)
CGroup: /system.slice/apache2.service
├─104165 / usr / sbin / apache2 -k štart
├─ 116006 / usr / sbin / apache2 -k štart
└─ 116007 / usr / sbin / apache2 -k štart

19. mája 22:11:36 ubuntu18 systemd [1]: Spustenie HTTP servera Apache…
19. mája 22:11:36 ubuntu18 systemd [1]: Spustený HTTP server Apache.
21. mája 06:25:01 ubuntu18 systemd [1]: Obnovenie servera Apache HTTP.
21. mája 06:25:01 ubuntu18 systemd [1]: Obnovil HTTP server Apache.
22. mája 06:25:01 ubuntu18 systemd [1]: Obnovenie servera Apache HTTP.

Ak chcete skontrolovať, či je služba aktívna:

$ sudo systemctl je-active name.service

Zatiaľ čo je služba apache2 spustená, výstup príkazu systemctl is-active je:

$ sudo systemctl je aktívny apache2
aktívny

Skontrolujte, či je služba povolená:

$ sudo systemctl is-enabled name.service.

Prezeranie stavu systému

Všetky príkazy, ktoré ste doteraz videli, sa používajú na správu jednej služby. Ak chcete prehľad o stave systému, použite nasledujúcu množinu príkazov:

Ak chcete zobraziť všetky typy jednotiek

$ sudo systemctl -t help
Dostupné typy jednotiek:
služba
zásuvka
terč
zariadenie
kôň
automount
výmena
časomerač
cesta
plátok
rozsah

Ak chcete zobraziť zoznam všetkých nainštalovaných jednotiek, použite súbory list-unit-files

$ sudo systemctl list-unit-files
JEDNOTKA SÚBORU SÚBOROV
proc-sys-fs-binfmt_misc.automount static
-.generované pripojenie
boot-efi.mount vygenerované
dev-hugepages.mount static
dev-mqueue.mount static
mnt.mount vygenerované
proc-sys-fs-binfmt_misc.mount static
sys-fs-fuse-connection.mount static
sys-kernel-config.mount static
sys-kernel-debug.mount static
acpid.path povolený
apport-autoreport.path povolený
systemd-ask-password-console.path static
systemd-ask-password-plymouth.path static
systemd-ask-password-wall.path static
session-161.scope prechodný
accounts-daemon.service enabled

Výstup má iba dva stĺpce Jednotka Súbor a Stav. Stav bude zvyčajne povolený, deaktivovaný, statický alebo maskovaný.

  • statický: To znamená, že jednotku nie je možné povoliť, vykonať jednorazovú akciu alebo je závislosťou od inej jednotky a nemožno ju spustiť samostatne..
  • maskovaný: Jednotka uvedená ako maskovaná znamená, že je úplne nestabilná, pretože je prepojená s / dev / null. Toto sa nazýva maskovanie jednotky. To bráni spusteniu služby ručne alebo automaticky.

Zoznam všetkých nainštalovaných služieb

Príkaz systemctl list-unit-files s filtrom služieb -t alebo –type zobrazuje iba stav nainštalovaných služieb.

Služba $ sudo systemctl list-unit-files -t

JEDNOTKA SÚBORU SÚBOROV
accounts-daemon.service enabled
acpid.service zakázané
apache-htcacheclean.service je zakázaná
[Email protected] invalidný
služba apache2.service je povolená
[Email protected] invalidný
apparmor.service povolený
apport-autoreport.service static
[Email protected] statický
vygenerovaná služba apport.service
apt-daily-upgrade.service static
apt-daily.service static
atd.service povolená
[Email protected] povolené
služba blk-dostupnosť.service je povolená
bootlogd.service maskovaný
bootlogs.service maskovaná

Ak chcete zobraziť všetky aktívne servisné jednotky, použite zoznam jednotiek s filtrom služieb -t

$ sudo systemctl list-units -t service

UNIT LOAD ACTIVE SUB POPIS
accounts-daemon.service načítané aktívne spustené služby Accounts Service
Aplikácia apache2.service bola načítaná aktívnym spustením servera HTTP Apache
apparmor.service načítal aktívnu ukončenú inicializáciu AppArmor
apport.service načítal aktívne ukončené LSB: automatické generovanie správ o zlyhaní
atd.service načítaný aktívny beh Odložený plánovač vykonávania
blk-dostupnosť.service načítané aktívne ukončené Dostupnosť blokových zariadení
cloud-config.service načítané aktívne ukončené Použite nastavenia zadané v cloud-con
cloud-final.service načítané aktívne ukončené Execute cloud user / final script
cloud-init-local.service načítaný aktívny ukončený Počiatočná úloha cloud-init (predbežné prepojenie)
cloud-init.service načítané aktívne ukončené Počiatočná úloha cloud-init (služba metadát
console-setup.service načítané aktívne ukončené Nastavte písmo a mapu klávesov konzoly
cron.service načítaný aktívny beh Pravidelné spracovanie programov na pozadí

Výstup má nasledujúce stĺpce:

  • UNIT: Názov servisnej jednotky systemd
  • NALOŽIŤ: Ukazuje, či bola definícia jednotky správne načítaná a načítaná
  • ACTIVE: Popisuje, či je jednotka aktívna.
  • SUB: Stav aktivácie jednotky na nízkej úrovni, ktorý poskytuje podrobnejšie informácie o jednotke. Toto sa bude líšiť podľa typu jednotky.
  • POPIS: Popis servisnej jednotky.

záver

Dúfam, že vám to poskytne predstavu o používaní systemctl na správu služieb v systéme Linux. Ak sa chcete dozvedieť viac, môžete si to pozrieť Linux Mastery kurz.

Tagy:

  • linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map