OpenRC | |
---|---|
Típusú | init démon |
Szerző | Roy Marples |
Fejlesztő | OpenRC fejlesztők |
Beírva | C [1] |
Operációs rendszer | Linux , FreeBSD , NetBSD |
Első kiadás | 2007. április 5 |
legújabb verzió | 0,45,2 (2022. július 3.) |
Engedély | 2 szakaszos BSD licenc |
Weboldal | GentooWiki , GitWeb |
Médiafájlok a Wikimedia Commons oldalon |
Az OpenRC egy függőségi alapú indítórendszer , amely egy indítóprogram ( /sbin/init ) mellett fut . Teljesen kompatibilis a Gentoo szkriptekkel , de továbbra is használható más Linux és BSD disztribúciókon . Roy Marples, a NetBSD fejlesztő készítette, aki szintén aktív volt a Gentoo projektben. [2] [3]
Az OpenRC a modern indítórendszerektől elvárt szokásos szolgáltatásokat nyújtja: függőségi alapú betöltés, cgroupokon keresztüli szegregációs folyamat (Linuxon és más rendszereken, különböző futási szintek elkülönítése), környezeti változó konfigurációk .
Az olyan operációs rendszerek , mint a Gentoo , az Alpine Linux , a Hyperbola GNU/Linux-libre , a Parabola GNU / Linux-libre , a Maemo Leste , a TrueOS és más unix-szerű rendszerek OpenRC -t használnak , míg mások, mint például a Devuan . Az Artix Linux ezt egyként kínálja az opciók közül [4] . Ez azt jelenti, hogy a szoftvercsomagok és a rendszerarchitektúrák/ elosztások démonja támogatják, szállítják és/vagy rendelkezésre álló szkripteket használnak.
Az OpenRC több moduláris komponensből áll, a főbbek az /init (opcionális), a fő függőségkezelő rendszer és a felügyelő démon (opcionális). C -ben és POSIX -kompatibilis shellben íródott , így BSD és Linux rendszereken is használható. Az OpenRC nagy része a függőségek kezelését és az init parancsfájl -végrehajtás elemzését végzi. Az OpenRC a futási szintek vizsgálatával, egy függőségi gráf létrehozásával, majd a szükséges parancsfájl -szolgáltatás futtatásával működik. A szkriptek futtatása után kilép. Alapértelmezés szerint az OpenRC a start-stop-démon módosított verzióját használja ennek a démonszolgáltatásnak a kezelésére. [5]
A szkriptek hasonlóak a SysVinit inicializálásánál használt szkriptekhez , de számos szolgáltatást kínálnak, amelyek megkönnyítik a létrehozásukat. A szkripteknek rendelkezniük kell start(), stop() és status() paraméterekkel, és a rendszer már deklarált változókat használ az alapértelmezett függvények létrehozásához [6] . A függőségi függvény a SysVinit LSB - fejléceivel végrehajtandó egyéb szolgáltatásokkal kapcsolatos függőségek deklarálására szolgál . A konfigurációt és a mechanizmust a conf.d könyvtárban lévő konfigurációs fájlok és az init.d könyvtárban található init fájlok választják el.
Az Openrc-init először a 0.25-ös verzióban jelent meg a /sbin/init opcionális helyettesítőjeként. Számos más init támogatott, köztük a SysVinit és a Busybox
A Supervise-démon először a 0.21-es verzióban jelent meg, amely lehetővé tette az openrc felügyeletet. Beépíthető egy indító parancsfájlba egy vezérlő démon indításához és vezérléséhez A démonfelügyelő is támogatott runit [7] és s6 [8] engedélyezésével .
Az OpenRC számos olyan funkciót biztosít, amelyeket az olyan indítórendszerek, mint a systemd , a GNU Shepherd vagy az upstart innovatívvá tettek, mint például a hardveres indítószkriptek futtatása vagy a cgroups támogatása . Az ilyen funkciók megvalósítása nem igényelt olyan nagy változtatásokat, amelyek gyökeresen megváltoztatják a tervezést és a függőségeket.
A BusyBox használható az OpenRC-hez szükséges legtöbb segédprogram ( awk , shell , init és egyéb POSIX - eszközök) helyettesítésére, mint az OpenRC fő shelljeként. A fork és exec által általában felvett összes hívás a gyorsaság kedvéért lecserélésre kerül.
OpenRC