Byla publikována verze 0.7.0.0 správce služeb s6-rc. Je navržena pro správu spouštění inicializačních skriptů a služeb. Podporuje sledování stromu závislostí a automatické spouštění nebo vypínání služeb pro dosažení zadaného stavu. Sada nástrojů s6-rc může být použita jak v inicializačních systémech, tak k organizaci spouštění libovolných služeb na základě událostí odrážejících změny stavu systému. Systém podporuje inicializační skripty kompatibilní se sysv-init a dokáže importovat informace o závislostech ze sysv-rc nebo OpenRC. Kód je napsán v jazyce C a distribuován pod licencí ISC.
Správce služeb s6-rc obsahuje sadu utilit pro spouštění a zastavování dlouho běžících procesů (démonů) nebo okamžitě ukončených inicializačních skriptů. Během provozu je zajištěno paralelní spouštění neprotínajících se služeb a je zaručena opakující se sekvence provádění skriptů pro různá spuštění. Všechny změny stavu jsou zpracovávány s ohledem na závislosti, například při spuštění služby se automaticky spustí závislosti nezbytné pro její provoz a při jejím zastavení se zastaví i závislé služby.
Na rozdíl od jiných správců služeb podporuje s6-rc proaktivní (offline) konstrukci grafu závislostí pro existující sadu služeb, což umožňuje provádět analýzu závislostí náročnou na zdroje samostatně, nikoli během spouštění nebo změn stavu. Zároveň systém není monolitický a je rozdělen do řady samostatných a vyměnitelných modulů, z nichž každý v souladu s filozofií Unixu řeší pouze specifický úkol. Projekt s6-rc se drží filozofie minimalismu (neobsahuje nic zbytečného) a spotřebovává minimum zdrojů.
Místo úrovní běhu používá s6-rc koncept balíčků, které umožňují seskupování služeb podle libovolných kritérií a úloh. Pro zvýšení efektivity se používá kompilovaná databáze závislostí, kterou vytváří utilita s6-rc-compile na základě obsahu adresářů obsahujících soubory pro spuštění/zastavení služeb. Pro analýzu a manipulaci s databází jsou k dispozici utility s6-rc-db a s6-rc-update. Sada nástrojů s6 se používá v distribucích Obarun, Adelie a Artix a lze ji volitelně použít i v distribucích Gentoo, Void a Alpine.
Projekt také vyvíjí doprovodné balíčky, které doplňují s6-rc:
- s6 je utilita pro monitorování a správu procesů (podobná nástrojům daemontools a runit). Podporuje funkce jako restartování procesů po jejich abnormálním ukončení, spuštění obslužné rutiny (aktivace služby) při přístupu k síťovému portu, protokolování událostí (náhrada za syslogd) a řízené udělování dalších oprávnění (podobně jako sudo).
- s6-linux-init — implementace procesu init pro operační systémy založené na jádře Linux, používaný k vytváření init systémů, které používají balíčky s6 a s6-rc ke správě služeb a skriptů.
- s6-networking je sada nástrojů pro vytváření síťových služeb, podobně jako ucspi.
- s6-frontend - framework pro obnovení funkčnosti daemontools a runit nad s6.
- s6-portable-utils je sada standardních unixových utilit, jako jsou cut, chmod, ls, sort a grep, optimalizované pro minimální spotřebu zdrojů a dodávané pod licencí ISC.
- s6-linux-utils - sada utilit vázaných na Linuxjako například chroot, freeramdisk, logwatch, mount a swapon.
- mdevd je správce událostí (podobný nástroji udevd) určený pro zpracování hotpluggingu zařízení. mdevd je konfiguračně kompatibilní s mdev od Busyboxu.
- bcnm je síťový konfigurátor s funkcemi pro konfiguraci Wi-Fi na straně klienta.
- execline je skriptovací jazyk.
- skalibs je knihovna pro tvorbu bezpečných systémových aplikací v jazyce C.
- s6-dns je sada klientských knihoven a nástrojů, které nahrazují standardní nástroje DNS od BIND a djbdns.
- dnsfunnel - přesměruje lokální DNS požadavky na externí serveru (DNS přeposílání).
- shibari je jednoduchý DNS server.
- tipidee je HTTP server s podporou HTTP/1.1.
V nové verzi s6-rc a souvisejících utilit:
- Byl implementován příkaz „s6-rc reload“ pro restartování dlouhodobě běžících služeb.
- Přidán řídicí soubor reload-signal, který definuje signál odeslaný procesu k restartu (výchozí je SIGHUP).
- Utilita s6-rc-bundle byla odstraněna - změna balíčků bez rekompilace již není podporována.
- Byl navržen nový formát pro interní databázi (aktualizace vyžaduje rekompilaci a spuštění utility s6-rc-format-upgrade).
- Bylo zajištěno správné zpracování situace restartu utility s6-rc-init pro inicializaci služeb a vylepšeno zpracování systémových selhání.
- Nástroj s6-rc-set-change byl aktualizován o následující možnosti: -I/-i pro zobrazení varování nebo selhání s chybou při detekci konfliktní závislosti; -P/-p pro zakázání/povolení automatického řešení konfliktů závislostí při změně stavu služby.
- Odstraněna zastaralá volba „-f“.
- Nástroj s6 nyní obsahuje příkaz s6-svscanboot pro přesměrování protokolů supervizora s6-svscan na s6-log, když neběží pod PID 1.
- Implementována volba „s6-svc -l“ pro odeslání signálu pro restart.
- Uživatelské rozhraní s6-frontend nyní podporuje následující možnosti a příkazy: „s6 --user“ (pro práci s uživatelskými službami), „s6 live reset“, „s6 apply“, „s6 enable|disable|start|stop|kill|apply“, „s6 live stop --clean“.
- HTTP server tipidee nyní podporuje FastCGI a přidává volbu cgi_pass_authorization.
Zdroj: opennet.ru
