Šiame vadove aptarsiu paslaugos ir systemctl komandas bei jų skirtumus, kai kalbama apie paslaugų valdymą.
Prieš eidami toliau, pirmiausia supraskime dvi populiarias Linux pradines sistemas; Sistema ir Sistema.
System V vs Systemd
Init sistema Linux sistemoje yra esminė įkrovos proceso dalis. Tai pirmasis procesas su PID 1, kuris pradedamas paleidus sistemą. Tada jis pradeda procesus, esančius inittab faile. Sistema V taip pat žino SysV, o systemd yra populiarios Linux pradinės sistemos.
The SysV yra senesnė pradinė sistema ir buvo senesnių Unix ir Linux platinimų dalis. Jis valdo sistemos paslaugas naudodamas scenarijus, esančius /etc/init.d. Kai kurie Linux platinimai, kurie vis dar naudoja SysV, yra Slackware, Gentoo ir antiX Linux.
Iš kitos pusės, sisteminis pradėtas naudoti 2010 m. ir buvo greitai priimtas daugelyje Linux platinimų. Systemd init sistema valdo paslaugas per .service failus. Dabar tai yra visų šiuolaikinių Linux platinimų dalis, įskaitant Red Hat Enterprise Linux, CentOS, Amazon Linux, Fedora, Debian, Ubuntu ir šiomis operacinėmis sistemomis pagrįstus platinimus.
Sistema yra daug efektyvesnė, palyginti su SysV. Tai užtikrina greitesnį įkrovos laiką, efektyvų paslaugų valdymą ir priklausomybės tvarkymą.
Abiejų init sistemose yra dvi komandinės eilutės paslaugos, skirtos paslaugų valdymui.
Tolesniuose vadovo skyriuose aptarsiu šias dvi komunalines paslaugas.
tarnybos komanda
The paslauga komanda yra scenarijaus įvynioklis, paleidžiantis scenarijus, esančius /etc/init.d katalogas. Jis buvo sukurtas aptarnavimui valdyti SysV arba Sistema V init sistema. „Linux“ paskirstymai, naudojantys SysV kaip pradinę sistemą, naudoja paslauga paslaugų valdymo komanda.
Toliau pateikiama bendroji paslaugos komandos naudojimo sintaksė.
paslauga [ paslaugos_pavadinimas ] [ veiksmas ]Norėdami gauti sistemos V valdomų paslaugų būseną, naudokite tarnybos komandą su – būsena – viskas variantas.
paslauga --būsena-viskas
The + rodo, kad paslauga veikia, o – rodo, kad paslauga neaktyvi.
Dabartinę bet kurios konkrečios paslaugos būseną taip pat galima patikrinti paminėjus paslaugos pavadinimą.
paslauga [ paslaugos_pavadinimas ] statusą
Kai kurios kitos naudingos paslaugų komandos, pvz., paslaugos paleidimas, sustabdymas ir paleidimas iš naujo, yra išvardytos toliau.
paslauga [ paslaugos_pavadinimas ] pradėtipaslauga [ paslaugos_pavadinimas ] sustabdyti
paslauga [ paslaugos_pavadinimas ] perkrauti
Ši paslaugų komanda suteikia pagrindinį valdymą paslaugoms valdyti. Dauguma Linux platinimų pakeitė SysV kaip pradinę sistemą, tačiau dėl senojo suderinamumo ši komanda vis dar pateikiama daugelyje naujausių Linux platinimų.
systemctl komanda
Naudodami komandą systemctl galite valdyti paslaugas /lib/systemd/system ir /etc/systemd/system katalogai. Tai yra systemd komponentas; pradinė sistema, randama daugumoje šiuolaikinių Linux platinimų.
„Systemctl“ sukurta siekiant suteikti daugiau kontrolės sistemos paslaugų valdymui. Toliau pateikiama bendroji komandos systemctl sintaksė:
systemctl [ variantas ] [ paslaugos_pavadinimas ]Norėdami patikrinti visų paslaugų būseną, naudokite šią komandą.
systemctl sąrašo vienetai --tipas = paslauga --viskasNaudojant konkrečią paslaugą:
systemctl būsena [ paslaugos_pavadinimas ]
Žemiau pateiktos pagrindinės paslaugos valdymo komandos naudojant systemctl:
systemctl įjungti [ paslaugos_pavadinimas ]systemctl start [ paslaugos_pavadinimas ]
systemctl stop [ paslaugos_pavadinimas ]
systemctl išjungti [ paslaugos_pavadinimas ]
systemctl paleisti iš naujo [ paslaugos_pavadinimas ]
„Systemctl“ komanda neapsiriboja paslaugų valdymu. Žemiau esančioje lentelėje yra keletas išplėstinių systemctl komandų.
sąrašas-keliai | Norėdami išvardyti visų atmintyje esančių paslaugų kelią |
yra aktyvus [paslaugos_pavadinimas] | Norėdami patikrinti, ar paslauga arba įrenginys veikia, ar ne |
sąrašo priklausomybės [paslaugos_pavadinimas] | Norėdami išspausdinti nurodytos paslaugos priklausomybių sąrašą |
atstatyti - nepavyko | Norėdami iš naujo nustatyti paslaugas, kurių nepavyko įkelti dėl kokių nors sutrikimų |
kaukė [paslaugos_pavadinimas] | Norėdami išjungti paslaugą ir neleidžia jos paleisti |
gauti-numatytasis | Norėdami spausdinti numatytąjį vykdymo lygį arba tikslą |
nustatytas numatytasis [taikinys] | Norėdami nustatyti numatytąjį vykdymo lygį arba tikslą |
veikia sistema | Norėdami patikrinti sistemos veikimo būseną |
paleisti iš naujo | Norėdami iš naujo paleisti sistemą |
išjungti | Norėdami išjungti sistemą |
Kodėl vis dar yra paslaugų komanda Linux platinimuose su systemd init System
Paslaugos komanda vis dar yra daugelio „Linux“ paskirstymų dalis, nes ji yra įpakavimo scenarijus ir abstrahuoja pagrindinę pradinę sistemą, nesvarbu, ar tai SysV, ar systemctl. Pavyzdžiui, „Ubuntu“ paslaugos komanda nukreipia į systemctl.
Išvada
Paslauga ir systemctl yra dvi komandų eilutės paslaugos, priklausančios atitinkamai SysV ir systemd init sistemoms. Nepaisant to, kad paslaugų komanda buvo pakeista šiuolaikiniuose Linux platinimuose, ji išlieka pagrindiniu paslaugų priežiūros įrankiu dėl paprastumo ir suderinamumo. Kita vertus, „systemctl“ yra visų dabartinių „Linux“ paskirstymų dalis ir teikia išplėstines paslaugų administravimo parinktis.