Systemd toob Linuxi süsteemiseadmete kontseptsiooni. Näiteks e.g., teenindusüksus, sihtüksus, kinnitusüksus jne. on üksuse tüübid, mille faililaiend on .teenus, .sihtmärk, .vastavalt. Neid üksusi esindav konfiguratsioonifail salvestatakse kataloogidesse: / usr / lib / systemd / system /, / run / systemd / system /, / etc / systemd / system /
Red Hat Enterprise Linuxi (RHEL) varasemates versioonides kasutati init-skripte. Need skriptid olid kirjutatud BASH-is ja asusid kataloogis “/ etc / rc.d / init.d / ”. Need on skriptid, mida kasutatakse teenuste ja deemonite juhtimiseks. Hiljem tutvustati RHEL 7-s teenuseüksusi, mis asendasid init skriptid. Fedora, mis on Red Hat Enterprise Linuxi ülesvoolu operatsioonisüsteem, on hakanud Systemd kasutama alates Fedora versioonist 15.
Teenindusüksustel on .teenuse faililaiendid ja neil on sarnased rollid nagu init-skriptidel. „Systemd” kasutab süsteemiteenuste haldamiseks utiliiti „systemctl”. Seda saab kasutada nende teenuste vaatamiseks, käivitamiseks, peatamiseks, taaskäivitamiseks, lubamiseks või keelamiseks.
Systemd eelised Init-süsteemi ees
- Systemd abil saame prioriteerida vajalikud teenused vähem oluliste teenuste asemel.
- Cdgruppe kasutab systemd protsesside jälgimiseks ja täitmise kontrollimiseks.keskkond.
- Systemd toetab endiselt vana init-protsessi ja tal on suurem kontroll.
- Systemd suudab toime tulla süsteemi dünaamiliste muudatustega.
Mida me kajastame?
Selles juhendis õpime tundma systemd protsesside haldamist. Näeme, kuidas käivitamisel käivitamisteenuseid lubada ja keelata ning kuidas teha teenuseid nagu käivitamine, peatamine, taaskäivitamine jne. Oleme Fedora 30 tööjaamades läbi viinud järgmised harjutused, mis on kõige paremini rakendatavad teistele Linuxi operatsioonisüsteemidele.
Lisage Fedora Linuxi käivitusprogrammide loend Boot
Vana SysV meetod kasutab teenust ja chkconfig käske teenuste haldamiseks. Need käsud on nüüd asendatud systemd käskudega nagu systemctl. Vaatame mõningaid „systemctl” toiminguid Linuxi eri teenustes.
1. Kõigi teie süsteemis töötavate teenuste loendis koos olekutega (lubatud või keelatud) kasutage allolevat käsku:
$ sudo systemctl list-unit-files --type = teenus
Teenusel võib olla kolm olekut: 1) lubatud 2) keelatud 3) staatiline
Lubatud teenusel on a-s sümbollink .soovib kataloogi, puudega teenusel aga pole. Staatilisel teenusel pole vastavas init-skriptis installijaotist. Nii et seda ei saa lubada ega keelata.
Teenuste kohta lisateabe saamiseks tuleb kasutada järgmist käsku.
teenus $ sudo systemctl -at
Ülaltoodud veergude nimede kokkuvõte:
UNIT - systemd üksuse nimi (siin teenuse nimi).
LOAD - määrake, kas systemd-üksus on õigesti laaditud või mitte.
AKTIIVNE - üksuse olek (siin teenus).
SUB - üksuse aktiveerimise alariik.
KIRJELDUS - lühike teave seadme kohta.
Saame kasutada ka järgmist käsku:
$ sudo ls / lib / systemd / system / *.teenusvõi
$ sudo / etc / systemd / system / *.teenus
The „/ Etc / inittab” on nüüd asendatud „/ Etc / systemd / system /” süsteemis. Selles kataloogis on nüüd kataloogis olevate failide sümbolid “/ Usr / lib / systemd / system”. Init-skriptid paigutatakse kausta "/ usr / lib / systemd / system". Teenus tuleb kaardistada „/ Etc / systemd / system /” selle käivitamiseks süsteemi käivitamisel. Sel eesmärgil kasutatakse Fedora ja teistes uusimates Linuxi süsteemides käsku systemctl.
2. Vaatame allpool toodud teenuse httpd lubamise näidet:
$ sudo systemctl lubab httpd.teenus
Samuti võime kõigi lubatud teenuste filtreerimiseks kasutada allolevat käsku:
$ sudo systemctl list-unit-files | grep on lubatud
või kasutage käsku:
$ sudo systemctl | haarama jooksma
3. Kõigi aktiivsete (töötavate) teenuste loetlemiseks kasutage käsku:
4. Et näha, millised teenused on süsteemi käivitamisel automaatselt käivitatud, võime kasutada ka järgmist käsku:
$ sudo systemctl list-unit-files --type = service --state = lubatud - kõik
5. Samamoodi saame käsklusega kontrollida käivitamisel käivitamiseks keelatud teenuseid:
$ sudo systemctl list-unit-files --type = service --state = disabled --all
6. Samuti näeme iga teenuse käivitamisel kuluvat aega:
$ sudo systemd-analysis süüdistada
7. Kui soovite kontrollida, kas teenuses on käivitamisel automaatne käivitamine lubatud, kasutage käsku:
$ sudo systemctl on lubatud xxxPange teenuse nimi xxx asemele. E.g., httpd-teenuse korral on käsk järgmine:
$ sudo systemctl on lubatud httpd.teenusvõi
$ sudo systemctl on lubatud httpd
8. Teenuse oleku kontrollimiseks kasutage käsku:
$ sudo systemctl olek xxx.teenusNäiteks sshd-teenuse oleku kontrollimiseks toimige järgmiselt
$ sudo systemctl olek sshd.teenus
9. Kui soovite kontrollida, kas teenus töötab või mitte, käivitage lihtsalt järgmine käsk:
$ sudo systemctl on-aktiivne xxx.teenusNäiteks telneti oleku kontrollimiseks toimige järgmiselt
$ sudo systemctl on aktiivne telnet.teenus
10. Surnud või passiivse teenuse käivitamiseks kasutage käsku:
$ sudo systemctl start xxx.teenusNäiteks sshd-teenuse käivitamiseks toimige järgmiselt
$ sudo systemctl start sshd
11. Teenuse keelamiseks süsteemi käivitamisel
Näiteks teenuse httpd keelamiseks tehke järgmist
$ sudo systemctl keelab httpd.teenusvõi
$ sudo systemctl keelab httpd
12. Töötava teenuse taaskäivitamine
$ sudo systemctl taaskäivitage xxx.teenusSshd-teenuse taaskäivitamiseks kasutage käsku:
$ sudo systemctl taaskäivitage sshdKui teenus veel ei tööta, siis see käivitatakse.
13. Töötava teenuse uuesti laadimine
$ sudo systemctl laadige xxx uuesti.teenusNäiteks laadige teenus httpd uuesti sisse järgmisega:
$ sudo systemctl laadige httpd uuesti.teenus
See käsk laadib uuesti konkreetse teenuse konfiguratsiooni. Systemd üksuse konfiguratsioonifaili uuesti laadimiseks vajame käsku:
$ sudo systemctl deemon-reload14. Teenuse kõigi sõltuvuste loetlemiseks toimige järgmiselt
$ sudo systemctl loendisõltuvused xxx.teenusHttpd-teenuse korral on käsk järgmine:
$ sudo systemctl loendisõltuvused httpd.teenus
Järeldus
Selles juhendis oleme näinud erinevaid viise teenuste haldamiseks systemd utiliidiga, näiteks teenuste lubamine alglaadimisel, nende käivitamine ja peatamine jne. Kui olete harjunud vana Sysviniti teeninduskäskudega, peaksite minema üle süsteemile, kuna sellel on rohkem funktsioone ja see on Fedora, RHELi ja enamiku teiste suuremate Linuxi distributsioonide uuemates versioonides vaikimisi init-süsteem.