Storitev proti Systemctl

Storitev Proti Systemctl



Service in systemctl sta dva pripomočka ukazne vrstice, ki se uporabljata za upravljanje sistemskih storitev. Oba pripomočka pripadata dvema različnima sistemoma inicializacije, SysV oziroma systemd.

V tem priročniku bom razpravljal o ukazih storitev in systemctl ter o tem, kako se razlikujejo, ko gre za upravljanje storitev.

Preden gremo naprej, najprej razumejmo dva priljubljena sistema inicializacije Linuxa; System in Systemd.







System V proti Systemd

Zagonski sistem v Linuxu je ključni del zagonskega procesa. To je prvi proces s PID 1, ki se sproži ob zagonu sistema. Nato zažene procese v datoteki inittab. System V pozna tudi SysV in systemd sta priljubljena zagonska sistema Linuxa.



The SysV je starejši init sistem in je bil del starejših distribucij Unixa in Linuxa. Upravlja sistemske storitve s pomočjo skriptov v /etc/init.d. Nekatere distribucije Linuxa, ki še vedno uporabljajo SysV, so Slackware, Gentoo in antiX Linux.



Po drugi strani, systemd predstavljen leta 2010 in so ga hitro sprejele številne distribucije Linuxa. Systemd init sistem upravlja storitve prek datotek .service. Zdaj je del vseh sodobnih distribucij Linuxa, vključno z Red Hat Enterprise Linux, CentOS, Amazon Linux, Fedora, Debian, Ubuntu in distribucijami, ki temeljijo na teh operacijskih sistemih.





Systemd je veliko bolj učinkovit v primerjavi s SysV. Zagotavlja hitrejši čas zagona, učinkovito upravljanje storitev in ravnanje z odvisnostmi.

Oba init sistema nudita dva pripomočka ukazne vrstice za upravljanje storitev.



V naslednjih razdelkih vodnika bom razpravljal o teh dveh pripomočkih.

storitveno povelje

The storitev ukaz je ovoj skripta, ki izvaja skripte, ki se nahajajo v /etc/init.d imenik. Razvit je bil za upravljanje storitve SysV oz Sistem V init sistem. Distribucije Linuxa, ki uporabljajo SysV kot zagonski sistem, uporabljajo storitev ukaz za upravljanje storitev.

Splošna sintaksa za uporabo storitvenega ukaza je podana spodaj.

storitev [ ime_storitve ] [ ukrepanje ]

Če želite pridobiti status storitev, ki jih nadzoruje System V, uporabite ukaz service z – stanje-vse možnost.

storitev --status-vse

The + označuje, da se storitev izvaja, in kaže, da je storitev neaktivna.

Trenutni status posamezne storitve lahko preverite tudi z navedbo imena storitve.

storitev [ ime_storitve ] stanje

Nekateri drugi uporabni storitveni ukazi, kot so zagon, zaustavitev in ponovni zagon storitve, so navedeni spodaj.

storitev [ ime_storitve ] začetek

storitev [ ime_storitve ] stop

storitev [ ime_storitve ] ponovni zagon

Ta storitveni ukaz zagotavlja osnovni nadzor za upravljanje storitev. Večina distribucij Linuxa je zamenjala SysV kot sistem inicializacije, vendar je zaradi združljivosti s podedovanimi različicami ta ukaz še vedno na voljo v številnih najnovejših distribucijah Linuxa.

ukaz systemctl

Z ukazom systemctl lahko nadzorujete storitve v /lib/systemd/system in /etc/systemd/system imeniki. Je komponenta systemd; init sistem, ki ga najdemo v večini sodobnih distribucij Linuxa.

Systemctl je zasnovan tako, da zagotavlja večji nadzor nad upravljanjem sistemskih storitev. Splošna sintaksa za uporabo ukaza systemctl je podana spodaj:

systemctl [ možnost ] [ ime_storitve ]

Če želite preveriti stanje vseh storitev, uporabite naslednji ukaz.

sistemske enote seznama -- vrsta = storitev --vse

Za uporabo določene storitve:

status systemctl [ ime_storitve ]

Ukazi za osnovno upravljanje storitve z uporabo systemctl so podani spodaj:

systemctl omogočiti [ ime_storitve ]

zagon systemctl [ ime_storitve ]

sistemska zaustavitev [ ime_storitve ]

onemogoči systemctl [ ime_storitve ]

ponovni zagon systemctl [ ime_storitve ]

Ukaz systemctl presega, ko gre za nadzor storitev. Spodnja tabela vsebuje nekaj naprednih ukazov systemctl.

seznam poti Za seznam poti vseh storitev v pomnilniku
je aktiven [ime_storitve] Za preverjanje, ali storitev ali enota deluje ali ne
seznam odvisnosti [ime_storitve] Za tiskanje seznama odvisnosti podane storitve
ponastavitev ni uspela Za ponastavitev storitev, ki se niso uspele naložiti zaradi neke nepravilnosti
maska ​​[ime_storitve] Če želite onemogočiti storitev in onemogočiti njen zagon
get-default Za tiskanje privzete ravni ali cilja
set-default [cilj] Za nastavitev privzete ravni teka ali cilja
je-sistem-teče Za preverjanje stanja delovanja sistema
ponovni zagon Za ponovni zagon sistema
ugasniti Za zaustavitev sistema

Zakaj v distribucijah Linuxa še vedno obstaja storitveni ukaz s sistemom systemd init

Storitveni ukaz je še vedno del številnih distribucij Linuxa, ker je ovojni skript in abstrahira osnovni init sistem, ne glede na to, ali je SysV ali systemctl. Na primer, v Ubuntuju ukaz service preusmeri na systemctl.

Zaključek

Service in systemctl sta dva pripomočka ukazne vrstice, ki pripadata sistemoma SysV oziroma systemd init. Kljub zamenjavi ukaza service v sodobnih distribucijah Linuxa ostaja ključno orodje za vzdrževanje storitev zaradi enostavnosti in združljivosti. Systemctl pa je del vseh trenutnih distribucij Linuxa in ponuja napredne možnosti za skrbništvo storitev.