Objavljena je verzija 0.7.0.0 upravitelja usluga s6-rc. Dizajnirana je za upravljanje pokretanjem inicijalizacijskih skripti i usluga. Podržava praćenje stabla zavisnosti i automatsko pokretanje ili gašenje usluga radi postizanja određenog stanja. Komplet alata s6-rc može se koristiti i u sistemima za inicijalizaciju i za organiziranje pokretanja proizvoljnih usluga na osnovu događaja koji odražavaju promjene stanja sistema. Sistem podržava inicijalizacijske skripte kompatibilne sa sysv-init i može uvesti informacije o zavisnostima iz sysv-rc ili OpenRC. Kod je napisan u C-u i distribuiran pod ISC licencom.
Upravitelj usluga s6-rc uključuje skup uslužnih programa za pokretanje i zaustavljanje dugotrajnih procesa (daemona) ili odmah prekinutih inicijalizacijskih skripti. Tokom rada, osigurano je paralelno pokretanje servisa koji se ne presijecaju i zagarantovan je ponavljajući niz izvršavanja skripti za različita pokretanja. Sve promjene stanja se obrađuju uzimajući u obzir zavisnosti, na primjer, kada se pokrene servis, zavisnosti potrebne za njegov rad će se automatski pokrenuti, a kada se zaustavi, zavisni servisi će također biti zaustavljeni.
Za razliku od drugih upravitelja usluga, s6-rc podržava proaktivnu (offline) konstrukciju grafa zavisnosti za postojeći skup usluga, što omogućava da se analiza zavisnosti koja zahtijeva mnogo resursa izvrši odvojeno, umjesto tokom pokretanja ili promjena stanja. Istovremeno, sistem nije monolitan i podijeljen je u niz odvojenih i zamjenjivih modula, od kojih svaki, u skladu s Unix filozofijom, rješava samo određeni zadatak. Projekt s6-rc se pridržava filozofije minimalizma (ne sadrži ništa nepotrebno) i troši minimalno resursa.
Umjesto nivoa pokretanja, s6-rc koristi koncept paketa (bundleova), omogućavajući grupiranje servisa prema proizvoljnim kriterijima i zadacima. Radi poboljšanja efikasnosti, koristi se kompajlirana baza podataka zavisnosti, koju kreira uslužni program s6-rc-compile na osnovu sadržaja direktorija koji sadrže datoteke za pokretanje/zaustavljanje servisa. Uslužni programi s6-rc-db i s6-rc-update su obezbijeđeni za parsiranje i manipulisanje bazom podataka. S6 alatni lanac se koristi u distribucijama Obarun, Adelie i Artix, a opciono se može koristiti i u Gentoo, Void i Alpine.
Projekat također razvija prateće pakete koji dopunjuju s6-rc:
- s6 je uslužni program za praćenje i upravljanje procesima (slično kao daemontools i runit). Podržava funkcije kao što su ponovno pokretanje procesa nakon njihovog abnormalnog završetka, pokretanje rukovatelja (aktivacija servisa) kada se pristupi mrežnom portu, evidentiranje događaja (zamjena za syslogd) i kontrolirano dodjeljivanje dodatnih privilegija (slično kao sudo).
- s6-linux-init — implementacija init procesa za operativne sisteme bazirane na kernelu Linux, koristi se za kreiranje init sistema koji koriste pakete s6 i s6-rc za upravljanje servisima i skriptama.
- s6-networking je skup uslužnih programa za kreiranje mrežnih usluga, sličnih ucspi.
- s6-frontend - okvir za ponovno kreiranje funkcionalnosti daemontool-a i runit-a na vrhu s6.
- s6-portable-utils je skup standardnih Unix uslužnih programa kao što su cut, chmod, ls, sort i grep, optimiziran za minimalnu potrošnju resursa i isporučen pod ISC licencom.
- s6-linux-utils - skup uslužnih programa vezanih za Linuxkao što su chroot, freeramdisk, logwatch, mount i swapon.
- mdevd je upravitelj događaja (sličan udevd-u) dizajniran za rukovanje hot-pluggingom uređaja. mdevd je konfiguracijski kompatibilan s Busyboxovim mdev-om.
- bcnm je mrežni konfigurator s mogućnostima konfiguriranja Wi-Fi mreže na strani klijenta.
- execline je skriptni jezik.
- Skalibs je biblioteka za kreiranje sigurnih sistemskih aplikacija u C programskom jeziku.
- s6-dns je skup klijentskih biblioteka i uslužnih programa koji zamjenjuju standardne DNS uslužne programe iz BIND-a i djbdns-a.
- dnsfunnel - preusmjerava lokalne DNS zahtjeve na eksterni server (DNS forwarder).
- shibari je jednostavan DNS server.
- tipidee je HTTP server sa podrškom za HTTP/1.1.
U novoj verziji s6-rc i srodnih uslužnih programa:
- Naredba "s6-rc reload" je implementirana za ponovno pokretanje dugotrajnih servisa.
- Dodana je kontrolna datoteka za signal ponovnog učitavanja koja definira signal koji se šalje procesu za ponovno pokretanje (zadano je SIGHUP).
- Alat s6-rc-bundle je uklonjen - promjena paketa bez ponovnog kompajliranja više nije podržana.
- Predložen je novi format za internu bazu podataka (ažuriranje zahtijeva ponovnu kompajlaciju i pokretanje uslužnog programa s6-rc-format-upgrade).
- Osigurano je ispravno rješavanje situacije ponovnog pokretanja uslužnog programa s6-rc-init za inicijalizaciju servisa, a poboljšano je i rješavanje sistemskih kvarova.
- Alat s6-rc-set-change je ažuriran sljedećim opcijama: -I/-i za prikaz upozorenja ili greške kada se otkrije konfliktna zavisnost; -P/-p za onemogućavanje/omogućavanje automatskog rješavanja konflikta zavisnosti kada se promijene stanja servisa.
- Uklonjena je zastarjela opcija "-f".
- Uslužni program s6 sada ima naredbu s6-svscanboot za preusmjeravanje logova nadzornika s6-svscan na s6-log kada ne radi pod PID-om 1.
- Implementirana je opcija "s6-svc -l" za slanje signala za ponovno pokretanje.
- Korisnički interfejs s6-frontend sada podržava sljedeće opcije i naredbe: "s6 --user" (za rad s korisničkim servisima), "s6 live reset", "s6 apply", "s6 enable|disable|start|stop|kill|apply", "s6 live stop --clean".
- Tipidee HTTP server sada podržava FastCGI i dodaje opciju cgi_pass_authorization.
izvor: opennet.ru
