Pripremljeno je značajno izdanje upravitelja usluga s6-rc 0.5.3.0, namijenjenog upravljanju pokretanjem skripti inicijalizacije i usluga uzimajući u obzir zavisnosti. Alati s6-rc mogu se koristiti kako u sustavima inicijalizacije, tako i za organizaciju pokretanja proizvoljnih usluga vezanih uz događaje koji odražavaju promjene stanja sustava. Omogućava se potpuno praćenje stabla zavisnosti i automatsko pokretanje ili završavanje usluga kako bi se postiglo navedeno stanje. Kod je napisan na jeziku C i distribuira se pod ISC licencom.
Upravitelj usluga s6-rc, koji se može smatrati ekvivalentom sysv-rc ili OpenRC, uključuje skup alata za pokretanje i zaustavljanje dugotrajnih procesa (demona) ili odmah završivih skripti inicijalizacije. Tijekom rada uzimaju se u obzir zavisnosti između komponenti, omogućava se paralelno pokretanje skripti i usluga koje ne preklapaju, te se jamči ponavljajuća sekvenca izvršavanja skripti pri različitim pokretanjima. Sve promjene stanja obrađuju se uzimajući u obzir zavisnosti, pazeći da se zavisnosti ne krše (na primjer, pri pokretanju neke usluge automatski će se pokrenuti potrebne zavisnosti za njezin rad, a pri zaustavljanju — zaustavit će se i zavisne usluge).
Umjesto razina pokretanja (runlevel) u s6-rc nudi se univerzalnija koncepcija skupova (bundles) koja omogućava grupiranje usluga prema proizvoljnim karakteristikama i rješavanim zadacima. Za povećanje učinkovitosti koristi se kompajlirana baza zavisnosti koja se stvara alatom s6-rc-compile na temelju sadržaja direktorija s datotekama za pokretanje/zaustavljanje usluga. Za analizu i manipulacije s bazom podataka dostupni su alati s6-rc-db i s6-rc-update. Sustav podržava skripte inicijalizacije kompatibilne sa sysv-init i može uvoziti informacije o zavisnostima iz sysv-rc ili OpenRC.
Među prednostima s6-rc ističe se kompaktnost implementacije, koja ne sadrži ništa suvišno, osim komponenti za rješavanje direktnih zadataka, te troši minimalne resurse. Za razliku od drugih menadžera usluga, s6-rc podržava proaktivno (u offline načinu) građenje grafova zavisnosti za postojeći set usluga, što omogućuje izvođenje resursno intenzivne analize zavisnosti odvojeno, a ne tijekom učitavanja ili promjene stanja. Pri tome, sustav nije monolitan i podijeljen je na seriju odvojenih i zamjenjivih modula, od kojih svaki, u skladu s filozofijom Unixa, rješava samo određeni zadatak.
U kombinaciji s alatima s6, koji prate rad procesa (analogno daemontools i runit), alat omogućuje istovremeno praćenje rada dugotrajnih usluga, na primjer, ponovnim pokretanjem u slučaju izvanrednih završetaka, i osigurava izvođenje sekvence komandi u reproduktivnom obliku, koja se ponavlja pri različitim pokretanjima. Podržane su i takve mogućnosti kao aktivacija usluge pri pristupu socketu (pokretanje obraditelja pri pristupu mrežnoj utičnici), evidentiranje događaja procesa (zamjena syslogd) i kontrolirano dodavanje dodatnih privilegija (analog sudo).
Istovremeno je dostupno izdanje paketa s6-linux-init 1.0.7.0, koje nudi implementaciju init procesa za izgradnju gotovih sustava inicijalizacije za operacijske sustave temeljen na Linux kernelu, u kojima se za upravljanje uslugama i inicijalizacijskim skriptama koriste alati s6 i s6-rc. Pri tome, s6 i s6-rc nisu vezani za s6-linux-init i po želji se mogu koristiti s bilo kojim sustavima inicijalizacije.
Osim toga, projekt nudi:
- s6-networking — skup alata za stvaranje mrežnih servisa, sličan ucspi.
- s6-frontend — omotač za replikaciju funkcionalnosti daemontools i runit iznad s6.
- s6-portable-utils — skup tipičnih Unix alata, kao što su cut, chmod, ls, sort i grep, optimiziranih za minimalnu potrošnju resursa i distribuciju pod ISC licencom.
- s6-linux-utils — skup alata vezanih za Linux, kao što su chroot, freeramdisk, logwatch, mount i swapon.
- s6-dns — skup klijentskih biblioteka i alata koji zamjenjuju standardne DNS alate iz BIND-a i djbdns-a.
U novoj verziji s6-rc, u alatu s6-rc-compile implementirano je čitanje podataka o zavisnostima i setovima usluga iz direktorija, umjesto iz datoteka. Korištenje direktorija pojednostavljuje dodavanje usluga u bazu podataka s informacijama o zavisnostima prilikom instalacije programa putem upravitelja paketa, jer omogućuje izbjegavanje promjena u datotekama. Podrška za stari format temeljen na datotekama zadržana je radi osiguranja kompatibilnosti. U novoj verziji s6-linux-init, u alat s6-linux-init-maker dodana je opcija "-S" za sinkronizaciju podataka u kontejnerima.
Izvor: opennet.ru
