Bol vydaný nový release správcu služieb s6-rc 0.7.0.0, určený na správu spúšťania iniciačných skriptov a služieb. Podporuje sledovanie stromu závislostí a automatické spúšťanie alebo zastavovanie služieb na dosiahnutie požadovaného stavu. Nástroj s6-rc môže byť použitý v iniciačných systémoch, ako aj na organizáciu spúšťania ľubovoľných služieb reagujúcich na udalosti, ktoré odrážajú zmeny v stave systému. Systém podporuje iniciačné skripty kompatibilné so sysv-init a môže importovať informácie o závislostiach z sysv-rc alebo OpenRC. Kód je napísaný v jazyku C a je distribuovaný pod licenciou ISC.
Správca služieb s6-rc zahŕňa súbor utilít na spúšťanie a zastavovanie dlhodobo bežiacich procesov (démonov) alebo skriptov inicializácie, ktoré sa končia okamžite. V priebehu jeho činnosti sa zabezpečuje paralelné spúšťanie nesúvisiacich služieb a zaručuje sa opakujúca sa sekvencia vykonávania skriptov pri rôznych spusteniach. Všetky zmeny stavu sa spracovávajú s ohľadom na závislosti, napríklad pri spustení nejakej služby sa automaticky spustia potrebné závislosti, a pri zastavení sa zastavia aj závislé služby.
Na rozdiel od iných správcov služieb, s6-rc podporuje proaktívne (v režime offline) zostavenie grafu závislostí pre existujúci súbor služieb, čo umožňuje vykonávať náročnú analýzu závislostí separátne, a nie počas načítania alebo zmeny stavu. Systém nie je monolitný a je rozdelený na sériu samostatných a nahraditeľných modulov, z ktorých každý, v súlade s filozofiou Unix, rieši iba určitú úlohu. Projekt s6-rc sa drží minimalistickej filozofie (neobsahuje nič nadbytočné) a vyžaduje minimálne zdroje.
Namiesto úrovní spúšťania (runlevel) v s6-rc sa navrhuje koncept súborov (bundles), ktorý umožňuje grupovanie služieb podľa ľubovoľných charakteristík a riešených úloh. Na zvýšenie efektivity práce sa používa skompilovaná databáza závislostí, ktorá je vytvorená nástrojom s6-rc-compile na základe obsahu adresárov s súbormi pre spúšťanie/zastavovanie služieb. Na analýzu a manipuláciu s databázou sú k dispozícii nástroje s6-rc-db a s6-rc-update. Nástroj s6 sa používa v distribúciách Obarun, Adelie a Artix, a voliteľne môže byť použitý aj v Gentoo, Void a Alpine.
Projekt tiež vyvíja sprievodné balíky, ktoré dopĺňajú s6-rc:
- s6 — utilitky na sledovanie a správu procesov (podobné daemontools a runit). Podporujú sa takéto funkcie ako reštart procesov po ich havarijnom ukončení, spustenie spracovateľa (aktivácia služby) pri prístupe k sieťovému portu, zaznamenávanie udalostí (nahradenie syslogd) a kontrolované poskytovanie ďalších privilégií (podobne ako sudo).
- s6-linux-init — implementácia init procesu pre operačné systémy na báze Linux jadra, používaná na vytváranie systémov iniciácie, v ktorých na správu služieb a skriptov používajú balíky s6 a s6-rc.
- s6-networking — súbor utilít na vytváranie sieťových služieb, podobne ako ucspi.
- s6-frontend — obal pre obnovenie funkčnosti daemontools a runit na vrchu s6.
- s6-portable-utils — súbor typových Unix utilít, ako cut, chmod, ls, sort a grep, optimalizovaných na minimálnu spotrebu zdrojov a dodávaných pod licenciou ISC.
- s6-linux-utils — súbor utilít viazaných na Linux, ako chroot, freeramdisk, logwatch, mount a swapon.
- mdevd — manažér udalostí (podobne ako udevd), určený na spracovanie horúceho pripojenia zariadení. Podľa konfigurácie je mdevd kompatibilný s mdev z Busyboxu.
- bcnm — sieťový konfigurátor s možnosťami na konfiguráciu Wi-Fi na strane klienta.
- execline — jazyk na písanie skriptov.
- skalibs — knižnica na vytváranie bezpečných systémových aplikácií v jazyku C.
- s6-dns — súbor klientskych knižníc a utilít, ktoré nahrádzajú typické DNS utilit z BIND a djbdns.
- dnsfunnel — presmerováva lokálne DNS požiadavky na externé server (DNS forwarder).
- shibari — jednoduchý DNS server.
- tipidee — HTTP server s podporou HTTP/1.1.
V novej verzii s6-rc a súvisiacich nástrojoch:
- Bola implementovaná príkaz „s6-rc reload“ na reštartovanie dlhodobo bežiacich služieb.
- Bol pridaný ovládací súbor reload-signal, ktorý určuje signál posielaný procesu na reštart (predvolene SIGHUP).
- Nástroj s6-rc-bundle bol odstránený — zmena sady bundle bez znovu kompilácie už nie je podporovaná.
- Bol navrhnutý nový formát vnútornej databázy (na aktualizáciu je potrebná recompilácia a spustenie nástroja s6-rc-format-upgrade.
- Bola zabezpečená správna správa situácie opätovného spustenia nástroja s6-rc-init na inicializáciu služieb a zlepšená správa systémových porúch.
- Do nástroja s6-rc-set-change boli pridané možnosti: -I/-i na výstup varovania alebo ukončenie s chybou pri zistení konfliktného závislostného vzťahu; -P/-p na vypínanie/zapínanie automatického riešenia závislostných konfliktov pri zmene stavu služieb.
- Starý parameter „-f“ bol odstránený.
- Do nástroja s6 bola pridaná príkaz s6-svscanboot na presmerovanie logov supervízora s6-svscan do s6-log, keď je spustený mimo PID 1.
- Bola implementovaná možnosť „s6-svc -l“ na odosielanie signálu na reštart.
- Do používateľského rozhrania s6-frontend bola pridaná podpora možností a príkazov: „s6 —user“ (na prácu s používateľskými službami), „s6 live reset“, „s6 apply“, „s6 enable|disable|start|stop|kill|apply“, „s6 live stop —clean“.
- Na http serveri tipidee bola implementovaná podpora FastCGI a pridaná možnosť cgi_pass_authorization.
Zdroj: opennet.ru
