Systemd: Minden más folyamat atyja
A Linux és bármely más * nix rendszer mindig elindít egy folyamatot, amely az összes többi folyamat atyja. A Systemd használatakor ez a folyamat systemd, a folyamatot mindig 'init' -nek hívják, függetlenül az init rendszertől. Miután a systemd fut, elindítja az alrendszereket futtató démonokat. A démonok ellenőrzik, hogy milyen erőforrásaid vannak, és milyen rendszerek vannak nyitva. A bejelentkezési felszólítás a systemd által kezelt szolgáltatás. A Systemd számos más szolgáltatást indít, és felhelyezi az összes lemezt, beleértve a snap-rögzítőket is.
Hogyan lehet irányítani, hogy mi kezdődik?
Először is, a legkorábbi init rendszernek voltak futási szintjei, amelyeket sok olvasó felismer. Az 1. futási szint egyfelhasználós mód volt, 2 többfelhasználós mód hálózati nélkül és 3-5 többfelhasználós és grafikus. A futási szint 0-ra állítása leállást, a 6 pedig újraindítást jelentett. A systemd fejlesztői úgy találták, hogy ezek a szintek nem egyértelműek, ezért megváltoztatták célpontoknak. A célok nem teljesen azonosak, de hasonló funkcióval rendelkeznek. Ha egy adott cél fut, akkor az egységek meghatározott gyűjteménye fut. Az egységekről később.
A „futási szint” beállítása, az úgynevezett cél.
Futtatás közben megváltoztathatja a célpontot, például egy terminál segítségével beállíthatja a célt többfelhasználósra. Ez megállítaná a grafikus felhasználói felületét, az X-t vagy a Wayland-t, de lehetővé tenné Önnek és másoknak, hogy szöveges konzollal jelentkezzenek be. Használja a következő parancsot.
$ systemctl isolate multiuser.célVagy ha el akarja indítani az asztalt, használja helyette a következő parancsot.
$ systemctl izolátum grafikus.célAmi igazán érdekel, az a helyes szint elindítása, így megtudhatod, mi van most.
$ systemctl get-defaultAz alapértelmezett módosításához állítsa be.
$ systemctl set-default grafikus.célEz a parancs valójában sok egységet és szolgáltatást indít el a számítógép indításakor. Érdemes azonban elindítania vagy leállítania egyetlen szolgáltatást.
A szolgáltatás indítása, leállítása, engedélyezése és letiltása.
Itt van esélye megváltoztatni a rendszerindításkor és a normál működés közben zajló eseményeket. A célpontokkal ellentétben az egységek speciálisak egy adott szolgáltatásra. A szolgáltatás leállításához használja a „systemctl stop” szót, ugyanúgy használhatja a „start” és az „restart”. A szolgáltatás indításakor az 'enable', a leállítás leállításához 'disable'. Válasszon egy szolgáltatást, és indítsa el és állítsa le, amíg fut.
$ systemctl állapotkupák.szolgáltatásEz a parancs megmutatja a szolgáltatás állapotát, és felsorolja a rendszer által a szolgáltatással kapcsolatban végrehajtott műveleteket is. A szolgáltatás leállításához használja az alábbi parancsot.
$ systemctl stop csészék.szolgáltatásA szolgáltatás most leállt az aktuális munkamenethez. Ha azt szeretné megváltoztatni, hogy a következő indításkor ne induljon el, akkor tiltsa le.
$ systemctl tiltsa le a csészéket.szolgáltatásFigyelje meg, hogy csak a szolgáltatást tilthatta le, ennek nincs hatása a jelenlegi helyzetére. A szolgáltatás folyamatosan működik. A következő indításkor azonban nem indítja el a szolgáltatást.
A Systemd a tartókat, eszközöket, aljzatokat és egyebeket is vezérli. Az egységek lejjebb vannak, és könnyebben érthetők, ha korábban már foglalkoztál egy Linux-tal. Ezeket te is beállíthatod, de a rendszerindításra a legnagyobb hatást a szolgáltatások irányítása jelenti.
Hogyan adhatja hozzá saját szkriptjeit?
A saját szkriptjeit egész egyszerűen hozzáadhatja, az érdekes részletek az, hogy miként állítja a szkriptet vagy szolgáltatást másoktól függővé. Ezt szépen bizonyítja ez a wifi-resume szolgáltatásfájl.
[Mértékegység]Description = Folytatáskor indítsa újra a networkmanager alkalmazást
Után = felfüggeszt.cél
Miután = hibernált.cél
Után = hibrid-alvás.cél
[Szolgáltatás]
Típus = onehot
ExecStart = / bin / systemctl indítsa újra a hálózatkezelőt.szolgáltatás
[Telepítés]
WantedBy = felfüggesztés.cél
WantedBy = hibernál.cél
WantedBy = hibrid alvás.cél
Ez a kód létrehoz egy szolgáltatást, amely egyszer megtörténik (onehot) a kódban említett három cél után. A végrehajtott kód ebben az esetben egyetlen parancs. Ugyanúgy megadhatja az ExecStart-ot egy tetszőleges szkriptre.
Következtetés
A rendszer megváltoztatásával, különösen az indítás módjával, megteheti magát, de vigyázzon, hogy ennek számos következménye van az egyes szolgáltatásokra, ezért győződjön meg arról, hogy a kód stabil és gyorsan végrehajtható.