Weboldal keresés

A 6 legjobb modern Linux „init” rendszer (1992-2023)


Linuxban és más Unix-szerű operációs rendszerekben az init (inicializálás) folyamat az első olyan folyamat, amelyet a rendszermag hajt végre indításkor, és amelynek azonosítója ( >PID)/1, amely a háttérben fut le a rendszer leállításáig.

Az init folyamat elindítja az összes többi Linux-folyamatot, azaz a démonokat, szolgáltatásokat és egyéb háttérfolyamatokat, ezért a rendszer összes többi folyamatának az anyja.

Egy folyamat számos más utódfolyamatot indíthat el a rendszeren, de ha egy szülőfolyamat meghal, az init lesz az árva folyamat szülője.

Az évek során számos init rendszer jelent meg a nagy Linux disztribúciókban, és ebben az útmutatóban áttekintjük azokat a legjobb init rendszereket, amelyekkel Linux operációs rendszeren dolgozhat.

1. System V Init

A System V (SysV) egy kiforrott és népszerű init séma Unix-szerű operációs rendszereken, a Unix/Linux rendszerek összes folyamatának szülője. A SysV az első kereskedelmi forgalomba hozott Unix operációs rendszer.

Szinte az összes Linux-disztribúció először a SysV indítósémát használta, kivéve a Gentoo-t, amelynek van egy egyéni initje, és a Slackware-t, amely a BSD-stílusú indítósémát használja.

Az évek múlásával néhány tökéletlenség miatt számos SysV-init-cserét fejlesztettek ki, hogy hatékonyabb és tökéletesebb indítórendszereket hozzanak létre Linux számára.

Bár ezek az alternatívák a SysV fejlesztésére törekednek, és valószínűleg új szolgáltatásokat is kínálnak, továbbra is kompatibilisek az eredeti SysV-init szkriptekkel.

2. SystemD

A SystemD egy viszonylag új kezdeti séma a Linux platformon. A Fedora 15ben bevezetett eszközök széles választékát kínálja az egyszerű rendszerkezeléshez. A fő cél az összes rendszerfolyamat inicializálása, kezelése és nyomon követése a rendszerindítási folyamatban és a rendszer futása közben.

A Systemd init átfogóan különbözik a többi hagyományos Unix init rendszertől abban a tekintetben, ahogyan gyakorlatilag közelíti meg a rendszer- és szolgáltatáskezelést. Ezenkívül kompatibilis a SysV és LBS init szkriptekkel.

A következő kiemelkedő tulajdonságokkal rendelkezik:

  • Tiszta, egyszerű és hatékony kialakítás
  • Párhuzamos és párhuzamos feldolgozás rendszerindításkor
  • Jobb APIv
  • Lehetővé teszi az opcionális folyamatok eltávolítását
  • Támogatja az eseménynaplózást a naplóval
  • Támogatja a munkaütemezést rendszeres naptári időzítőkkel
  • Naplók tárolása bináris fájlokban
  • A rendszer állapotának megőrzése a későbbi használatra
  • Jobb integráció a GNOME-mal és még sok mással

3. Feltörekvő

Az Upstart egy eseményalapú indítórendszer, amelyet az Ubuntu készítői fejlesztettek ki a SysV indítórendszer helyettesítésére. Különböző rendszerfeladatokat és folyamatokat indít el, ellenőrzi azokat a rendszer futása közben, és leállítja a rendszer leállítása során.

Ez egy hibrid indítórendszer, amely SysV indítószkripteket és Systemd szkripteket egyaránt használ. Az Upstart indítórendszer néhány figyelemre méltó jellemzője:

  • Eredetileg Ubuntu Linuxhoz fejlesztették ki, de minden más disztribúción is futhat
  • Feladatok és szolgáltatások esemény alapú indítása és leállítása
  • A feladatok és szolgáltatások indítása és leállítása során események generálódnak
  • Az eseményeket más rendszerfolyamatok is elküldhetik
  • Kommunikáció az init folyamattal D-buszon keresztül
  • A felhasználók elindíthatják és leállíthatják folyamataikat
  • Hirtelen elhalt szolgáltatások és még sok más újbóli megjelenése

4. OpenRC

Az OpenRC egy függőségi alapú init séma Unix-szerű operációs rendszerekhez, kompatibilis a SysV inittel. Bármennyire is javítja a Sys V-et, ne feledje, hogy az OpenRC nem helyettesíti a /sbin/init fájlt.

Néhány illusztris funkciót kínál, többek között:

  • Számos Linux disztribúción is futhat, beleértve a Gentoo-t és a BSD-t is
  • Támogatja a hardver által kezdeményezett indító szkripteket
  • Egyetlen konfigurációs fájlt támogat
  • Nem támogatott szolgáltatásonkénti konfiguráció
  • Démonként fut
  • Párhuzamos szolgáltatások indítása és még sok más

5. runit

A runit egy többplatformos indítórendszer is, amely GNU/Linux, Solaris, *BSD és Mac OS X rendszeren fut, és a SysV init alternatívája, amely szolgáltatásfelügyeletet kínál.

Néhány előnyt és figyelemre méltó összetevőt tartalmaz, amelyek nem találhatók meg a SysV initben és esetleg más Linux init rendszerekben, és ezek a következők:

  • Szolgáltatásfelügyelet, ahol minden szolgáltatás egy szolgáltatási címtárhoz van társítva
  • A tiszta folyamatállapot minden folyamat tiszta állapotát garantálja
  • Megbízható fakitermelési lehetőséggel rendelkezik
  • Gyors rendszerindítás és leállítás
  • Hordozható is
  • Csomagolásbarát
  • Kis kódméret és még sok más

6. s6

Az s6 egy kompakt eszközkészletet kínál UNIX-hoz, folyamatfelügyeletre szabva, hasonlóan a daemontoolshoz és a runithoz. Megkönnyíti a folyamatokon és démonokon végzett műveleteket.

Az alacsony szintű szolgáltatásadminisztrációs eszközkészletnek tervezett s6 változatos eszközöket kínál, amelyek önállóan vagy keretein belül működhetnek. Ezek az eszközök kombinálva robusztus funkcionalitást biztosítanak minimális kóddal.

Ahogy korábban említettem, az init rendszer elindítja és kezeli az összes többi folyamatot egy Linux rendszeren. Ezenkívül a SysV az elsődleges iniciációs séma Linux operációs rendszereken, de bizonyos teljesítménybeli gyengeségek miatt a rendszerprogramozók számos helyettesítőt fejlesztettek ki számára.

Itt megvizsgáltunk néhány ilyen cserét, de lehetnek más init rendszerek is, amelyeket érdemes megemlíteni ebben a listában. Értesíthet minket róluk az alábbi megjegyzés részben.