On valmis märkimisväärne v6s, s6-rc 0.5.3.0 teenuse haldur, mis on mõeldud initsialiseerimisskriptide ja teenuste käivitamise haldamiseks sõltuvusi arvesse võttes. S6-rc tööriistu saab kasutada nii initsialiseerimissüsteemides kui ka suvaliste teenuste käivitamiseks sündmuste põhjal, mis peegeldavad süsteemi oleku muutusi. Pakutakse täielikku sõltuvuste puu jälgimist ja teenuste automaatset käivitamist või lõpetamist, et saavutada määratud olek. Kood on kirjutatud C keeles ja seda jagatakse ISC litsentsi alusel.
S6-rc teenusehalduri, mida saab pidada sysv-rc või OpenRC vastandiks, sisaldab komplekti utiliite pikaajaliste protsesside (deemonite) või koheselt lõpetatavate initsialiseerimisskripti käivitamiseks ja peatamiseks. Tööprotsessi käigus arvestatakse komponentide vahelisi sõltuvusi, tagatakse paralleelne käivitamine omavahel mitte konflikti minevate skriptide ja teenuste jaoks ning garanteeritakse, et erinevate käivituste puhul täidetakse skriptide järjekord ühtmoodi. Kõiki oleku muutusi töödeldakse sõltuvuste arvestamisega, jälgides, et sõltuvusi ei rikuta (näiteks teenuse käivitamisel käivitatakse automaatselt vajalikud sõltuvused, samas kui peatamisel peatatakse ka sõltuvad teenused).
S6-rc pakub käivitamisastmete (runlevel) asemel universaalsemat kontseptsiooni, mis on tundide (bundles) mõisted, võimaldades teenuseid grupeerida erinevate tunnuste ja lahendatavate ülesannete alusel. Töö efektiivsuse tõstmiseks kasutatakse kompileeritud sõltuvuste andmebaasi, mille loob utiliit s6-rc-compile, põhinedes teenuste käivitamise/peatamise failide kataloogide sisule. Andmebaasi analüüsimiseks ja manipuleerimiseks pakutakse utiliite s6-rc-db ja s6-rc-update. Süsteem toetab süsteemi initsialiseerimise skripte, mis on ühilduvad sysv-initiga, ja suudab importida sõltuvuste teavet sysv-rc-st või OpenRC-st.
s6-rc eelisteks on kompaktne teostus, mis ei sisalda midagi ülearust peale otseülesannete lahendamiseks vajalike komponentide ja tarbib minimaalset ressurssi. Erinevalt teistest teenusehaldajatest toetab s6-rc ennetavat (offline-režiimis) sõltuvuste graafi koostamist olemasoleva teenuste komplekti jaoks, mis võimaldab ressursimahuka sõltuvusanalüüsi teostada eraldi, mitte laadimise või oleku muutmise ajal. Samuti ei ole süsteem monoliitne, vaid jaguneb rida eraldi ja vahetatavate moodulite vahel, millest igaühel on vastavalt Unixi filosoofiale oma kindel ülesanne.
Koos s6 utiliitidega, mis jälgivad protsesside tööd (sarnane daemontools ja runit), võimaldab tööriistakomplekt samal ajal kontrollida pikaajaliste teenuste toimimist, näiteks taaskäivitades neid avariiliste lõpetamiste korral, ja tagada käituste järjepidev käivitamine korduvates vormides, mis korduvad erinevatel käivitustel. Toetatakse ka selliseid võimalusi nagu teenuse aktiveerimine soketile juurdepääsu korral (käitaja käivitamine, kui pöörduda võrguporti), protsessi sündmuste logimine (syslogd asendamine) ja kontrollitud lisapreventiivsete õiguste andmine (sarnane sudo).
Samuti on välja antud pakett s6-linux-init 1.0.7.0, mis pakub init-protsessi teostust valmis süsteemide loomisel Linuxi-kernelil põhinevates operatsioonisüsteemides, kus teenuste ja initsialiseerimis skriptide haldamiseks kasutatakse s6 ja s6-rc utiliide. Samal ajal ei ole s6 ja s6-rc seotud s6-linux-init'iga ning neid saab vajadusel kasutada ka teiste initsialiseerimissüsteemidega.
Lisaks pakub projekt järgmisi võimalusi:
- s6-networking – komplekt utiliite võrguteenuste loomiseks, mis sarnaneb ucspi'le.
- s6-frontend – wrapper, mis taastab daemontools'i ja runit'i funktsionaalsuse s6 peal.
- s6-portable-utils – komplekt tüüpilisi Unix-utiliite, nagu cut, chmod, ls, sort ja grep, optimeeritud minimaalsete ressursside tarbimise jaoks ja jagatud ISC litsentsiga.
- s6-linux-utils – komplekt Linuxiga seotud utiliite, nagu chroot, freeramdisk, logwatch, mount ja swapon.
- s6-dns — klientide teekide ja utiliitide komplekt, mis asendab BIND-i ja djbdns-i tüüpilisi DNS-utiliite.
Uues versioonis s6-rc on utiliidis s6-rc-compile rakendatud sõltuvuste ja teenuste komplektide andmete lugemine kataloogidest, mitte failidest. Kataloogide kasutamine lihtsustab teenuste lisamist andmebaasi sõltuvuste teabega programmide installimisel pakihalduri kaudu, kuna see välistab vajaduse failide muutmise järele. Vanade failipõhiste formaatide toimetamine on säilitamiseks tagatud ühilduvus. Uues versioonis s6-linux-init on utiliidis s6-linux-init-maker lisatud valik "-S", et sünkroonida andmeid konteinerites.
Allikas: opennet.ru
