Signifikáns kiadás készült a s6-rc 0.5.3.0 szolgáltatásmenedzserből, amely a inicializáló szkriptek és szolgáltatások indításának kezelésére készült, figyelembe véve a függőségeket. Az s6-rc eszközkészlet használható mind az inicializáló rendszerekben, mind bármilyen szolgáltatás eseményekhez történő indítására, amelyek a rendszer állapotának megváltozását tükrözik. Teljes függőségi fa követés áll rendelkezésre, valamint automatikus szolgáltatásindítás vagy leállítás a megadott állapot elérése érdekében. A kód C nyelven íródott, és ISC licenc alatt terjesztik.
Az s6-rc szolgáltatásmenedzser, amely a sysv-rc vagy az OpenRC megfelelőjeként tekinthető, magában foglal egy eszközkészletet a tartósan működő folyamatok (démonok) elindítására és leállítására, vagy azonnal befejeződő inicializáló szkriptek végrehajtására. Működés közben figyelembe veszi az összes komponens közötti függőséget, párhuzamosan indítja el a nem ütköző szkripteket és szolgáltatásokat, és biztosítja a különféle indítások során ismétlődő műveleti sorrendet. Minden állapotváltozást a függőségek figyelembevételével kezel, és gondoskodik arról, hogy a függőségek ne sérüljenek (például ha egy szolgáltatást indítanak, az automatikusan elindítja a működéséhez szükséges függőségeket, és leállítja a hozzá kapcsolódó szolgáltatásokat a leállításkor).
Az s6-rc a futási szintek (runlevel) helyett egy univerzálisabb halmazkoncepciót (bundle) javasol, amely lehetővé teszi a szolgáltatások csoportosítását tetszőleges jellemzők és megoldandó feladatok alapján. A munka hatékonyságának növelése érdekében a függőségekből készült fordított adatbázis kerül alkalmazásra, amelyet a s6-rc-compile eszköz hoz létre a szolgáltatások indításához/leállításához szükséges fájlok könyvtárának tartalma alapján. Az adatbázis elemzésére és manipulálására az s6-rc-db és s6-rc-update eszközöket javasolják. A rendszer támogatja a sysv-init kompatibilis inicializáló szkripteket, és képes importálni a függőségi információkat a sysv-rc vagy az OpenRC-ből.
Az s6-rc előnyei között említhető a kompaktnak nevezhető megvalósítás, amely nem tartalmaz felesleges elemeket, csak a közvetlen feladatokhoz szükséges komponenseket, és minimális erőforrást igényel. Más szolgáltatáskezelőkkel ellentétben az s6-rc támogatja a szolgáltatások meglévő halmazához kapcsolódó függőségek gráfjának proaktív (offline módban) felépítését, ami lehetővé teszi a költséges függőség-analízis elkülönített elvégzését, nem pedig a betöltés vagy állapotváltozás során. A rendszer nem monolitikus, hanem egy sor különálló és helyettesíthető modulra van felosztva, amelyek mindegyike az Unix filozófiája szerint kizárólag egy adott feladatot old meg.
Az s6-hoz kapcsolódó, a folyamatok működését nyomon követő eszközökkel (amelyek analógok a daemontools és runit eszközökkel) az eszközkészlet lehetővé teszi a hosszú ideig futó szolgáltatások működésének egyidejű ellenőrzését, például újraindítva őket vészhelyzeti leállások esetén, és biztosítja a parancsok végrehajtásának olyan szekvenciáját, amely különböző indítások során reprodukálható formában megismételhető. Támogatott lehetőségek közé tartozik többek között a szolgáltatás aktiválása a socket elérésekor (feldolgozó elindítása a hálózati porthoz való hozzáféréskor), a folyamat eseményeinek naplózása (a syslogd helyettesítése) és a kiegészítő jogosultságok kontrollált megadása (az sudo analógja).
Egyidejűleg elérhető az s6-linux-init 1.0.7.0 csomagkiadás is, amely az init folyamat megvalósítását kínálja a Linux kernel alapú operációs rendszerekhez készült init rendszerek felépítéséhez, ahol a szolgáltatások és az init szkriptek kezelésére az s6 és s6-rc eszközöket használják. Az s6 és s6-rc nem kötődik az s6-linux-inithez, és igény szerint bármilyen init rendszeren használható.
Ezen kívül a projekt az alábbiakat biztosítja:
- s6-networking — hálózati szolgáltatások létrehozására szolgáló eszközök halmaza, hasonlóan az ucspi-hez.
- s6-frontend — a daemontools és runit funkcionalitásának rekonstrukciójához szükséges burkolat az s6 felett.
- s6-portable-utils — tipikus Unix segédeszközök halmaza, mint a cut, chmod, ls, sort és grep, amelyek minimalizált erőforrás-fogyasztásra optimalizáltak és ISC licenc alatt kerülnek forgalomba.
- s6-linux-utils — Linuxra vonatkozó segédeszközök halmaza, mint a chroot, freeramdisk, logwatch, mount és swapon.
- s6-dns — DNS segédeszközök és könyvtárak halmaza, amelyek helyettesítik a BIND és djbdns szokásos DNS eszközeit.
Az s6-rc új verziójában az s6-rc-compile segédprogram képes olvasni a szolgáltatások és a függőségek adatait könyvtárakból, nem pedig fájlokból. A könyvtárak használata megkönnyíti a szolgáltatások hozzáadását az adatbázishoz a függőségi információkkal a programok csomagkezelőn keresztüli telepítésekor, mivel lehetővé teszi a fájlok módosítása nélküli megoldást. A fájlalapú régi formátum támogatása megmaradt a kompatibilitás érdekében. Az s6-linux-init új verziójában az s6-linux-init-maker segédprogramhoz hozzáadva lett az „-S” lehetőség a konténerek adatainak szinkronizálására.
Forrás: opennet.ru
