Služba vs. Systemctl

Sluzba Vs Systemctl



Služba a systemctl jsou dva nástroje příkazového řádku používané ke správě systémových služeb. Oba nástroje patří ke dvěma různým init systémům, SysV, respektive systemd.

V této příručce budu diskutovat o příkazech service a systemctl ao tom, jak se liší, pokud jde o správu služeb.

Než půjdeme dále, pojďme nejprve porozumět dvěma populárním iniciačním systémům Linuxu; System a Systemd.







System V vs. Systemd

Init systém v Linuxu je klíčovou součástí bootovacího procesu. Je to první proces s PID 1, který se spouští při startu systému. Poté spustí procesy přítomné v souboru inittab. System V také zná SysV a systemd jsou oblíbené iniciační systémy Linuxu.



The SysV je starší init systém a byl součástí starších unixových a linuxových distribucí. Spravuje systémové služby pomocí skriptů umístěných v /etc/init.d. Některé distribuce Linuxu, které stále používají SysV, jsou Slackware, Gentoo a antiX Linux.



Na druhou stranu, systemd byl spuštěn v roce 2010 a byl rychle přijat mnoha distribucemi Linuxu. Systém systemd init spravuje služby prostřednictvím souborů .service. Nyní je součástí všech moderních distribucí Linuxu včetně Red Hat Enterprise Linux, CentOS, Amazon Linux, Fedora, Debian, Ubuntu a distribucí založených na těchto operačních systémech.





Systemd je mnohem efektivnější ve srovnání se SysV. Poskytuje rychlejší dobu spouštění, efektivní správu služeb a zpracování závislostí.

Oba init systémy poskytují dva nástroje příkazového řádku pro správu služeb.



V následujících částech průvodce se budu těmito dvěma nástroji zabývat.

servisní příkaz

The servis příkaz je obal skriptu, který spouští skripty umístěné v /etc/init.d adresář. Byl vyvinut pro správu služby SysV nebo Systém V init systém. Distribuce Linuxu, které používají SysV jako init systém, používají servis příkaz pro správu služeb.

Obecná syntaxe pro použití příkazu service je uvedena níže.

servis [ Název služby ] [ akce ]

Chcete-li získat stav služeb řízených systémem V, použijte příkaz service s – stav – vše volba.

servis --stav-vše

The + označuje, že je služba spuštěna, a ukazuje, že služba je neaktivní.

Aktuální stav jakékoli konkrétní služby lze také zkontrolovat uvedením názvu služby.

servis [ Název služby ] postavení

Některé další užitečné příkazy služby, jako je spuštění, zastavení a restartování služby, jsou uvedeny níže.

servis [ Název služby ] Start

servis [ Název služby ] stop

servis [ Název služby ] restartovat

Tento servisní příkaz poskytuje základní ovládání pro správu služeb. Většina linuxových distribucí nahradila SysV jako init systém, ale kvůli starší kompatibilitě je tento příkaz stále dodáván v mnoha nejnovějších linuxových distribucích ihned po vybalení.

Příkaz systemctl

Pomocí příkazu systemctl můžete ovládat služby v /lib/systemd/system a /etc/systemd/system adresáře. Je součástí systemd; init systém, který se nachází ve většině současných distribucí Linuxu.

Systemctl je navržen tak, aby poskytoval větší kontrolu nad správou systémových služeb. Obecná syntaxe pro použití příkazu systemctl je uvedena níže:

systemctl [ volba ] [ Název služby ]

Chcete-li zkontrolovat stav všech služeb, použijte následující příkaz.

systemctl seznam-jednotek --typ = služba --Všechno

Pro použití konkrétní služby:

stav systemctl [ Název služby ]

Příkazy pro základní správu služby pomocí systemctl jsou uvedeny níže:

systemctl umožnit [ Název služby ]

start systemctl [ Název služby ]

zastavení systemctl [ Název služby ]

systemctl zakázat [ Název služby ]

restart systemctl [ Název služby ]

Příkaz systemctl jde dále, pokud jde o řízení služeb. Níže uvedená tabulka obsahuje některé pokročilé příkazy systemctl.

seznam-cest Chcete-li zobrazit cestu všech služeb v paměti
je-aktivní [název_služby] Chcete-li zkontrolovat, zda služba nebo jednotka běží nebo ne
závislosti na seznamu [název_služby] Chcete-li vytisknout seznam závislostí zadané služby
reset se nezdařil Chcete-li resetovat služby, které se nepodařilo načíst kvůli nějaké abnormalitě
maska ​​[název_služby] Zakázat službu a znemožnit její spuštění
get-default Chcete-li vytisknout výchozí úroveň nebo cíl běhu
set-default [cíl] Chcete-li nastavit výchozí úroveň nebo cíl běhu
is-system-runing Pro kontrolu provozního stavu systému
restartovat Chcete-li restartovat systém
vypnout K vypnutí systému

Proč v distribucích Linuxu stále existuje služba Command se systemd init System

Příkaz service je stále součástí mnoha distribucí Linuxu, protože se jedná o obalový skript a abstrahuje základní init systém, ať už je to SysV nebo systemctl. Například na Ubuntu se příkaz služby přesměruje na systemctl.

Závěr

Služba a systemctl jsou dva nástroje příkazového řádku patřící k systémům SysV a systemd init. Navzdory nahrazení příkazu služby v moderních distribucích Linuxu zůstává klíčovým nástrojem pro údržbu služeb díky jednoduchosti a kompatibilitě. Systemctl je naproti tomu součástí všech současných linuxových distribucí a poskytuje pokročilé možnosti správy služeb.