„Systemd“ pateikia „systemd“ vienetų „Linux“ koncepciją. Dėl e.g., aptarnavimo blokas, tikslinis blokas, tvirtinimo blokas ir kt. yra vieneto tipai su failo plėtiniu kaip .paslaugą, .taikinys, .kalno. Šiuos vienetus atspindintis konfigūracinis failas yra saugomas kataloguose: / usr / lib / systemd / system /, run / systemd / system /, / etc / systemd / system /
Ankstesnėse „Red Hat Enterprise Linux“ (RHEL) versijose buvo naudojami pradiniai scenarijai. Šie scenarijai buvo parašyti BASH ir buvo kataloge „/ etc / rc.d / inic.d / “. Tai scenarijai, naudojami tarnyboms ir demonams valdyti. Vėliau „RHEL 7“ buvo pristatyti aptarnavimo padaliniai, kurie pakeitė „Init“ scenarijus. „Fedora“, kuri yra „Red Hat Enterprise Linux“ ankstesnė OS, pradėjo naudoti „systemd“ nuo „Fedora“ 15 versijos.
Aptarnavimo padaliniai turi .paslaugų failų plėtinius ir turi panašius vaidmenis kaip ir init scenarijai. „Systemd“ sistemos paslaugoms valdyti naudoja „systemctl“ įrankį. Jis gali būti naudojamas šioms paslaugoms peržiūrėti, paleisti, sustabdyti, paleisti iš naujo, įgalinti ar išjungti.
Systemd pranašumai prieš Init sistemą
- Naudodami „systemd“, mes galime teikti prioritetą būtinoms paslaugoms, o ne mažiau reikšmingoms paslaugoms.
- „Systemd“ naudoja grupes, kad galėtų sekti procesus ir kontroliuoti vykdymą.aplinka.
- „Systemd“ vis dar palaiko senąjį „init“ procesą ir turi daugiau valdymo galimybių.
- „Systemd“ gali atlikti dinamines sistemos konfigūracijos modifikacijas.
Ką mes padengsime?
Šiame vadove sužinosime apie sistemos procesų valdymą. Pamatysime, kaip įjungti ir išjungti paleisties paslaugas įkrovos metu ir kaip atlikti aptarnavimo operacijas, pvz., Paleisti, sustabdyti, paleisti iš naujo ir kt. Žemiau pateiktus pratimus atlikome „Fedora 30“ darbo stotyse, kurie bus tinkamiausi kitoms „Linux“ operacinėms sistemoms.
„Startora“ paslaugų sąrašas „Boot“ sistemoje „Fedora Linux“
Senasis SysV metodas naudoja paslaugą ir chkconfig komandos valdyti paslaugas. Šios komandos dabar pakeistos „systemd“ komandomis kaip systemctl. Pažiūrėkime apie kai kurias „systemctl“ operacijas su įvairiomis „Linux“ paslaugomis.
1. Norėdami išvardyti visas jūsų sistemoje veikiančias paslaugas ir jų būsenas (įgalintas arba išjungtas), naudokite toliau pateiktą komandą:
$ sudo systemctl list-unit-files --type = tarnyba
Paslauga gali būti trijų būsenų: 1) įjungta 2) išjungta 3) statinė
Įgalinta paslauga turi simbolinę nuorodą .nori katalogo, o neįgaliųjų tarnyba neturi. Statinėje tarnyboje nėra įdiegimo skyriaus atitinkamame init scenarijuje. Taigi, jo negalima įjungti ar išjungti.
Norėdami gauti daugiau informacijos apie paslaugas, turėtumėte naudoti šią komandą.
$ sudo systemctl -at tarnyba
Aukščiau pateiktų stulpelių pavadinimų santrauka:
UNIT - systemd vieneto pavadinimas (čia paslaugos pavadinimas).
LOAD - nurodykite, ar sistemd vienetas buvo įkeltas tinkamai, ar ne.
AKTYVUS - vieneto būsena (čia tarnyba).
SUB - dalinio aktyvavimo būsena.
APRAŠYMAS - trumpa informacija apie įrenginį.
Mes taip pat galime naudoti šią komandą:
$ sudo ls / lib / systemd / system / *.paslaugąarba
$ sudo / etc / systemd / system / *.paslaugą
The „/ Etc / inittab“ dabar pakeičiama „/ Etc / systemd / system /“ sistemoje. Dabar šiame kataloge yra nuorodos į kataloge esančius failus „/ Usr / lib / systemd / system“. Iniciatyvos scenarijai dedami į „/ usr / lib / systemd / system“. Paslauga turi būti susieta „/ Etc / systemd / system /“ kad jį paleistumėte įkrovos metu. Šiuo tikslu „systemctl“ komanda naudojama „Fedora“ ir kitose naujausiose „Linux“ sistemose.
2. Pažiūrėkime žemiau pateiktą „httpd“ paslaugos įgalinimo pavyzdį:
$ sudo systemctl įgalina httpd.paslaugą
Be to, norėdami filtruoti visas įgalintas paslaugas, galime naudoti toliau pateiktą komandą:
$ sudo systemctl list-unit-files | grep įjungtas
arba naudokite komandą:
$ sudo systemctl | grep bėgimas
3. Norėdami išvardyti visas aktyvias (veikiančias) paslaugas, naudokite komandą:
4. Norėdami pamatyti, kurios paslaugos yra įjungtos automatiškai paleisti įkrovos metu, taip pat galime naudoti šią komandą:
$ sudo systemctl list-unit-files --type = service --state = enable - all
5. Panašiai galime patikrinti, ar išjungtos paslaugos pradedamos paleidžiant, naudodama komandą:
$ sudo systemctl list-unit-files --type = service --state = disabled - all
6. Taip pat galime pamatyti, kiek laiko kiekviena paslauga užima paleidimo metu:
$ sudo systemd-analysis kaltinti
7. Norėdami patikrinti, ar įkrovos metu įjungta automatinio paleidimo paslauga, naudokite komandą:
$ sudo systemctl yra įjungtas xxxVietoje xxx įrašykite paslaugos pavadinimą. E.g., httpd paslaugos atveju komanda bus:
$ sudo systemctl yra įgalinta httpd.paslaugąarba
$ sudo systemctl yra įgalinta httpd
8. Norėdami patikrinti paslaugos būseną, naudokite komandą:
$ sudo systemctl status xxx.paslaugąPavyzdžiui, norėdami patikrinti sshd paslaugos būseną:
$ sudo systemctl status sshd.paslaugą
9. Norėdami patikrinti, ar paslauga veikia, ar ne, tiesiog paleiskite šią komandą:
$ sudo systemctl yra aktyvus xxx.paslaugąPavyzdžiui, norėdami patikrinti telnet būseną:
$ sudo systemctl yra aktyvus telnet.paslaugą
10. Norėdami pradėti mirti ar neaktyvią tarnybą, naudokite komandą:
$ sudo systemctl start xxx.paslaugąPvz., Norėdami pradėti naudoti SSD paslaugą:
$ sudo systemctl start sshd
11. Norėdami išjungti paslaugą įkrovos metu
Pvz., Norėdami išjungti „httpd“ paslaugą:
$ sudo systemctl išjungti httpd.paslaugąarba
$ sudo systemctl išjungti httpd
12. Norėdami iš naujo paleisti veikiančią paslaugą
$ sudo systemctl paleiskite xxx iš naujo.paslaugąNorėdami iš naujo paleisti sshd paslaugą, naudokite komandą:
$ sudo systemctl paleiskite iš naujo sshdJei paslauga dar neveikia, ji bus paleista.
13. Norėdami iš naujo įkelti veikiančią paslaugą
$ sudo systemctl perkrauti xxx.paslaugąPvz., Iš naujo įkelkite „httpd“ paslaugą naudodami:
$ sudo systemctl perkrauti httpd.paslaugą
Ši komanda iš naujo įkelia konkrečios paslaugos konfigūraciją. Norėdami iš naujo įkelti „systemd“ vieneto konfigūracijos failą, turime komandą:
$ sudo systemctl daemon-reload14. Norėdami išvardyti visas paslaugos priklausomybes:
$ sudo systemctl priklausomybės nuo sąrašo xxx.paslaugą„Httpd“ paslaugos atveju komanda bus:
$ sudo systemctl priklausomybės nuo sąrašo httpd.paslaugą
Išvada
Šiame vadove mes matėme įvairius būdus, kaip valdyti paslaugas naudojant „systemd“ įrankį, pvz., Įgalinti paslaugas įkrovos metu, jas paleisti ir sustabdyti ir kt. Jei buvote įpratęs naudoti senojo „Sysvinit“ paslaugų komandą, turėtumėte pereiti prie „systemd“, nes jame yra daugiau funkcijų, o tai yra numatytoji „init“ sistema naujesnėse „Fedora“, RHEL ir daugumos kitų pagrindinių „Linux“ paskirstymų versijose.