Služba vs. Systemctl

Sluzba Vs Systemctl



Služba a systemctl sú dva nástroje príkazového riadka používané na správu systémových služieb. Obidva nástroje patria do dvoch rôznych init systémov, SysV a systemd.

V tejto príručke budem diskutovať o príkazoch service a systemctl a o tom, ako sa líšia, pokiaľ ide o správu služieb.

Predtým, ako pôjdeme ďalej, najprv pochopme dva populárne systémy Linux init; System a Systemd.







System V verzus Systemd

Systém init v systéme Linux je kľúčovou súčasťou procesu zavádzania. Je to prvý proces s PID 1, ktorý sa spustí pri spustení systému. Potom spustí procesy prítomné v súbore inittab. System V tiež pozná SysV a systemd sú populárne iniciačné systémy Linuxu.



The SysV je starší init systém a bol súčasťou starších Unixových a Linuxových distribúcií. Spravuje systémové služby pomocou skriptov umiestnených v súbore /etc/init.d. Niektoré distribúcie Linuxu, ktoré stále používajú SysV, sú Slackware, Gentoo a antiX Linux.



Na druhej strane, systemd spustený v roku 2010 a bol rýchlo prijatý mnohými distribúciami Linuxu. Systém systemd init spravuje služby prostredníctvom súborov .service. Teraz je súčasťou všetkých moderných distribúcií Linuxu vrátane Red Hat Enterprise Linux, CentOS, Amazon Linux, Fedora, Debian, Ubuntu a distribúcií založených na týchto operačných systémoch.





Systemd je oveľa efektívnejší v porovnaní so SysV. Poskytuje rýchlejší čas zavádzania, efektívnu správu služieb a spracovanie závislostí.

Oba init systémy poskytujú dva nástroje príkazového riadka na správu služieb.



V nasledujúcich častiach príručky budem diskutovať o týchto dvoch nástrojoch.

servisný príkaz

The služby príkaz je obal skriptu, ktorý spúšťa skripty umiestnené v /etc/init.d adresár. Bol vyvinutý na riadenie služby SysV alebo Systém V inicializačný systém. Distribúcie Linuxu, ktoré používajú SysV ako init systém, používajú služby príkaz pre správu služieb.

Všeobecná syntax na použitie príkazu služby je uvedená nižšie.

služby [ názov_služby ] [ akcie ]

Ak chcete získať stav služieb riadených systémom V, použite príkaz service s -stav-všetko možnosť.

služby --stav-všetko

The + označuje, že služba je spustená, a symbol ukazuje, že služba je neaktívna.

Aktuálny stav ktorejkoľvek konkrétnej služby je možné skontrolovať aj uvedením názvu služby.

služby [ názov_služby ] postavenie

Niektoré ďalšie užitočné príkazy služby, ako je spustenie, zastavenie a reštartovanie služby, sú uvedené nižšie.

služby [ názov_služby ] začať

služby [ názov_služby ] zastaviť

služby [ názov_služby ] reštart

Tento servisný príkaz poskytuje základné ovládanie na riadenie služieb. Väčšina linuxových distribúcií nahradila SysV ako init systém, ale kvôli staršej kompatibilite tento príkaz stále prichádza v mnohých najnovších linuxových distribúciách hneď po vybalení.

príkaz systemctl

Pomocou príkazu systemctl môžete ovládať služby v /lib/systemd/system a /etc/systemd/system adresárov. Je súčasťou systemd; init systém, ktorý sa nachádza vo väčšine súčasných distribúcií Linuxu.

Systemctl je navrhnutý tak, aby poskytoval väčšiu kontrolu nad správou systémových služieb. Všeobecná syntax na použitie príkazu systemctl je uvedená nižšie:

systemctl [ možnosť ] [ názov_služby ]

Ak chcete skontrolovať stav všetkých služieb, použite nasledujúci príkaz.

systemctl zoznam-jednotky --typ = služba --všetko

Pre použitie konkrétnej služby:

stav systemctl [ názov_služby ]

Príkazy pre základnú správu služby pomocou systemctl sú uvedené nižšie:

systemctl povoliť [ názov_služby ]

spustenie systemctl [ názov_služby ]

systemctl stop [ názov_služby ]

systemctl zakázať [ názov_služby ]

reštart systemctl [ názov_služby ]

Príkaz systemctl ide ďalej, pokiaľ ide o riadenie služieb. Nižšie uvedená tabuľka obsahuje niektoré pokročilé príkazy systemctl.

zoznam-cesty Ak chcete zobraziť cestu všetkých služieb v pamäti
is-active [názov_služby] Ak chcete skontrolovať, či služba alebo jednotka beží alebo nie
závislosti od zoznamu [názov_služby] Ak chcete vytlačiť zoznam závislostí zadanej služby
reset - zlyhal Obnovenie služieb, ktoré sa nepodarilo načítať z dôvodu nejakej abnormality
maska ​​[názov_služby] Zakázať službu a zabrániť jej spusteniu
get-default Ak chcete vytlačiť predvolenú úroveň alebo cieľ spustenia
nastaviť predvolené [cieľ] Ak chcete nastaviť predvolenú úroveň alebo cieľ spustenia
is-system-runing Na kontrolu prevádzkového stavu systému
reštartovať Na reštartovanie systému
vypnúť Na vypnutie systému

Prečo v distribúciách Linuxu stále existuje príkaz služby so systemd init System

Príkaz service je stále súčasťou mnohých distribúcií Linuxu, pretože je to obalový skript a abstrahuje základný init systém, či už je to SysV alebo systemctl. Napríklad na Ubuntu sa príkaz služby presmeruje na systemctl.

Záver

Služba a systemctl sú dva nástroje príkazového riadka patriace do systémov SysV a systemd init. Napriek nahradeniu príkazu služby v moderných distribúciách Linuxu zostáva kľúčovým nástrojom na údržbu služieb vďaka jednoduchosti a kompatibilite. Systemctl je na druhej strane súčasťou všetkých súčasných distribúcií Linuxu a poskytuje pokročilé možnosti správy služieb.