Byl vydán nový release správce služeb s6-rc 0.5.6.0, určený k řízení spouštění inicializačních skriptů a služeb. Podporuje sledování stromu závislostí a automatické spouštění nebo ukončování služeb pro dosažení žádaného stavu. Nástroj s6-rc může být použit jak v init systémech, tak pro organizaci spouštění libovolných služeb v návaznosti na události, které odrážejí změnu stavu systému. Systém podporuje inicializační skripty kompatibilní se sysv-init a může importovat informace o závislostech ze sysv-rc nebo OpenRC. Kód je napsán v jazyce C a je distribuován pod licencí ISC.
Správce služeb s6-rc obsahuje sadu utilit pro spuštění a zastavení dlouhodobě běžících procesů (démonů) nebo okamžitě ukončitelných iniciačních skriptů. Během provozu zajišťuje paralelní spuštění neslučitelných služeb a garantuje opakující se sekvenci provádění skriptů při různých spuštěních. Všechny změny stavu jsou zpracovávány se zohledněním závislostí, například při spuštění nějaké služby budou automaticky spuštěny nezbytné závislosti pro její provoz, a při zastavení budou zastaveny i závislé služby.
Na rozdíl od jiných správců služeb s6-rc podporuje proaktivní (v offline režimu) budování grafu závislostí pro existující sadu služeb, což umožňuje provést náročnou analýzu závislostí samostatně, a nikoli během spuštění nebo změny stavu. Systém však není monolitický a je rozdělen na sérii samostatných a vyměnitelných modulů, z nichž každý podle filozofie Unixu řeší pouze určitou úlohu. Projekt s6-rc se drží filozofie minimalismu (neobsahuje nic nadbytečného) a spotřebovává minimum zdrojů.
Místo úrovní spuštění (runlevel) nabízí s6-rc koncept sad (bundles), který umožňuje skupinování služeb podle libovolných znaků a řešených úkolů. Pro zvýšení efektivity práce se používá zkompilovaná databáze závislostí, která se vytváří utilitou s6-rc-compile na základě obsahu katalogů s soubory pro spouštění/zastavování služeb. Pro analýzu a manipulaci s databází jsou nabízeny utility s6-rc-db a s6-rc-update.
Současně byly vytvořeny nové verze doprovodných balíčků, které doplňují s6-rc:
- s6 2.13.2.0 — nástroje pro sledování a řízení procesů (podobně jako daemontools a runit). Podporují takové funkce jako restartování procesů po jejich havárii, spuštění zpracovatele (aktivaci služby) při přístupu k síťovému portu, protokolování událostí (náhrada syslogd) a řízené poskytování dalších privilegií (podobně jako sudo).
- s6-linux-init 1.1.3.0 — implementace init procesu pro operační systémy založené na Linuxovém jádře, používaná k vytvoření init systémů, v nichž se pro řízení služeb a skriptů používají balíčky s6 a s6-rc.
- s6-networking 2.7.1.0 — soubor nástrojů pro vytváření síťových služeb, podobný ucspi.
- s6-frontend — obal pro rekonstrukci funkcionality daemontools a runit nad s6.
- s6-portable-utils 2.3.1.0 — soubor standardních unixových utilit, jako je cut, chmod, ls, sort a grep, optimalizovaných pro minimální spotřebu prostředků a distribuovaných pod licencí ISC.
- s6-linux-utils 2.6.3.0 — soubor utilit vázaných na Linux, jako je chroot, freeramdisk, logwatch, mount a swapon.
- mdevd 0.1.7.0 — manažer událostí (podobně jako udevd), určený pro zpracování horkého připojení zařízení. Podle konfigurace je mdevd kompatibilní s mdev z Busybox.
- bcnm 0.0.2.0 — síťový konfigurátor s možnostmi pro nastavení Wi-Fi na straně klienta.
- execline 2.9.7.0 — jazyk pro psaní skriptů.
- skalibs 2.14.4.0 — knihovna pro vytváření bezpečných systémových aplikací v jazyce C.
- s6-dns 2.4.1.0 — soubor klientských knihoven a utilit nahrazujících standardní DNS nástroje z BIND a djbdns.
- dnsfunnel 0.0.3.0 — přesměrovává místní DNS dotazy na externí server (DNS forwarder).
- shibari 0.0.2.0 — jednoduchý DNS server.
- tipidee 0.0.6.0 — HTTP server with HTTP/1.1 support.
In the new versions, all packages have added pkg-config support. The skalibs library has implemented input/output function variants whose execution time can be limited by a timeout. In mdevd, the '-I' option has been added to specify the netlink group name for receiving requests, and the default buffer size has been increased to 1 MB. In tipideed, streaming output of CGI scripts has been enabled, support for the PUT, DELETE, and PATCH methods has been added, and the autochunk directive for chunked encoding of transmitted data has been implemented.
Zdroj: opennet.ru
