A Systemd hozza fel a systemd egységek fogalmát a Linuxban. Elülső.g., szolgáltató egység, célegység, rögzítő egység stb. a fájl kiterjesztésű egységtípusok .szolgáltatás, .cél, .mount ill. Az ezeket az egységeket ábrázoló konfigurációs fájl a könyvtárakban található: / usr / lib / systemd / system /, / run / systemd / system /, / etc / systemd / system /
A Red Hat Enterprise Linux (RHEL) korábbi verziói init szkripteket használtak. Ezeket a szkripteket BASH-ban írták, és az “/ etc / rc könyvtárban voltak.d / init.d / ”. Ezek a szolgáltatások és a démonok vezérlésére szolgáló szkriptek. Később az RHEL 7-ben szolgáltató egységeket vezettek be az init szkriptek helyettesítésére. A Fedora, amely a Red Hat Enterprise Linux upstream operációs rendszere, a Fedora 15-ös verziójától kezdte el használni a systemd-t.
A szolgáltató egységek rendelkeznek .szolgáltatás fájlkiterjesztések és hasonló szerepkörökkel rendelkeznek, mint az init szkriptek. A „Systemd” a „systemctl” segédprogramot használja a rendszerszolgáltatások kezelésére. Használható ezen szolgáltatások megtekintésére, indítására, leállítására, újraindítására, engedélyezésére vagy letiltására.
A Systemd előnyei az Init rendszerrel szemben
- A systemd segítségével a szükséges szolgáltatásokat előnyben részesíthetjük a kevésbé jelentős szolgáltatásokkal szemben.
- A systemd a csoportokat használja a folyamatok nyomon követésére és a végrehajtás ellenőrzésére.környezet.
- A Systemd továbbra is támogatja a régi init folyamatot, és nagyobb irányítással rendelkezik.
- A Systemd képes kezelni a dinamikus rendszerkonfigurációs módosításokat.
Mit takarunk?
Ebben az útmutatóban megismerjük a systemd folyamatok kezelését. Meglátjuk, hogyan lehet az indítási szolgáltatásokat engedélyezni és letiltani a rendszerindításkor, és hogyan kell elvégezni a szolgáltatási műveleteket, mint például indítás, leállítás, újraindítás stb. Az alábbi gyakorlatokat a Fedora 30 munkaállomásokon hajtottuk végre, amelyek a többi Linux operációs rendszerre lesznek a legmegfelelőbbek.
Sorolja fel az indítási szolgáltatásokat a Fedora Linux rendszerindításakor
A régi SysV módszer a és a szolgáltatást használja chkconfig parancsokat a szolgáltatások kezelésére. Ezeket a parancsokat most a systemd parancsokkal cseréljük le, mint a systemctl. Nézzük meg a „systemctl” néhány műveletét a Linux különböző szolgáltatásain.
1. A rendszeren futó összes szolgáltatás és állapotuk (engedélyezett vagy letiltva) felsorolásához használja az alábbi parancsot:
$ sudo systemctl list-unit-files --type = service
A szolgáltatásnak három állapota lehet: 1) engedélyezve 2) letiltva 3) statikus
Egy engedélyezett szolgáltatásnak van egy symlinkje a .könyvtárat akar, míg a fogyatékkal élő szolgáltatásnak nincs. A statikus szolgáltatásnak nincs telepítési szakasza a megfelelő init szkriptben. Tehát nem lehet engedélyezni vagy letiltani.
A szolgáltatások további részleteinek megszerzéséhez használja az alábbi parancsot.
$ sudo systemctl -at szolgáltatás
A fenti oszlopnevek összefoglalása:
UNIT - systemd egység neve (itt egy szolgáltatás neve).
LOAD - Adja meg, hogy a systemd egységet helyesen töltötték-e be vagy sem.
AKTÍV - az egység állapota (itt szolgáltatás).
SUB - Az egység aktiválásának alállapota.
LEÍRÁS - Rövid információ az egységről.
Használhatjuk a következő parancsot is:
$ sudo ls / lib / systemd / system / *.szolgáltatásvagy
$ sudo / etc / systemd / system / *.szolgáltatás
A „/ Etc / inittab” helyébe a következő lép: „/ Etc / systemd / system /” a systemd-ben. Ez a könyvtár a szimbólumokat tartalmazza a könyvtárban található fájlokhoz “/ Usr / lib / systemd / system”. Az init szkriptek a „/ usr / lib / systemd / system” helyre kerülnek. Egy szolgáltatást fel kell térképezni „/ Etc / systemd / system /” a rendszerindításkor történő elindításhoz. Erre a célra a systemctl parancsot a Fedora és más legújabb Linux rendszerek használják.
2. Nézzük meg az alábbi példát a httpd szolgáltatás engedélyezésére:
A $ sudo systemctl engedélyezi a httpd parancsot.szolgáltatás
Az alábbi paranccsal szűrhetjük az összes engedélyezett szolgáltatást:
$ sudo systemctl list-unit-files | grep engedélyezve
vagy használja a következő parancsot:
$ sudo systemctl | grep futás
3. Az összes aktív (futó) szolgáltatás felsorolásához használja a következő parancsot:
4. Annak megtekintéséhez, hogy mely szolgáltatások engedélyezettek az automatikus indításhoz a rendszer indításakor, a következő parancsot is használhatjuk:
$ sudo systemctl list-unit-files --type = service --state = enable --all
5. Hasonlóképpen ellenőrizhetjük a letiltott szolgáltatásokat is az indításkor a következő paranccsal:
$ sudo systemctl list-unit-files --type = service --state = disabled --all
6. Azt is láthatjuk, hogy az egyes szolgáltatások mennyi időt vesznek igénybe az indításkor:
$ sudo systemd-analysis hibás
7. A következő paranccsal ellenőrizheti, hogy a szolgáltatás engedélyezi-e az automatikus indítást indításkor:
A $ sudo systemctl engedélyezve van xxxHelyezze a szolgáltatás nevét xxx helyére. E.g., httpd szolgáltatás esetén a parancs a következő lesz:
A $ sudo systemctl engedélyezve van a httpd.szolgáltatásvagy
A $ sudo systemctl engedélyezve van a httpd
8. A szolgáltatás állapotának ellenőrzéséhez használja a következő parancsot:
$ sudo systemctl status xxx.szolgáltatásPéldául az sshd szolgáltatás állapotának ellenőrzéséhez:
$ sudo systemctl status sshd.szolgáltatás
9. Annak ellenőrzéséhez, hogy fut-e egy szolgáltatás vagy sem, futtassa az alábbi parancsot:
$ sudo systemctl is-active xxx.szolgáltatásPéldául a telnet állapotának ellenőrzéséhez:
$ sudo systemctl is-active telnet.szolgáltatás
10. Halott vagy inaktív szolgáltatás indításához használja a következő parancsot:
$ sudo systemctl start xxx.szolgáltatásPéldául egy sshd szolgáltatás indításához:
$ sudo systemctl start sshd
11. Szolgáltatás letiltása a rendszer indításakor
Például a httpd szolgáltatás letiltásához:
$ sudo systemctl letiltja a httpd-t.szolgáltatásvagy
$ sudo systemctl letiltja a httpd-t
12. Egy futó szolgáltatás újraindítása
$ sudo systemctl indítsa újra a xxx fájlt.szolgáltatásAz sshd szolgáltatás újraindításához használja a következő parancsot:
$ sudo systemctl indítsa újra az sshd fájltHa a szolgáltatás még nem fut, akkor elindul.
13. Futó szolgáltatás újratöltése
$ sudo systemctl reload xxx.szolgáltatásTöltse be például a httpd szolgáltatást a következővel:
$ sudo systemctl töltse be újra a httpd fájlt.szolgáltatás
Ez a parancs újratölti egy adott szolgáltatás konfigurációját. A systemd egységkonfigurációs fájljának újratöltéséhez szükségünk van a következő parancsra:
$ sudo systemctl daemon-reload14. A szolgáltatás összes függőségének felsorolásához:
$ sudo systemctl list-dependences xxx.szolgáltatásHttpd szolgáltatás esetén a parancs a következő lesz:
$ sudo systemctl listafüggőségek httpd.szolgáltatás
Következtetés
Ebben az útmutatóban különböző módszereket láthattunk a szolgáltatások kezelésére a systemd segédprogrammal, például a szolgáltatások indításakor történő engedélyezésével, elindításával és leállításával stb. Ha megszokta a régi Sysvinit szervizparancsát, akkor váltson a systemd-re, mivel több funkcióval rendelkezik, és ez az alapértelmezett init rendszer a Fedora, az RHEL és a többi nagyobb Linux disztribúció újabb verzióiban.