Käesolev s6-rc 0.7.0.0 teenusehaldurite väljaanne on mõeldud skriptide käivitamise ja teenuste haldamise jaoks. Toetatakse sõltuvuste puu jälgimist ja teenuste automaatset käivitamist või lõpetamist, et saavutada soovitud olek. S6-rc tööriistakomplekti saab kasutada nii initsialiseerimissüsteemides kui ka sündmuste põhise teenuse käivitamise korraldamiseks, mis peegeldavad süsteemi oleku muutumist. Süsteemi toetatakse sysv-initiga ühilduvaid initsialiseerimisse skripte, samuti suudab see importida sõltuvuste teavet sysv-rc-st või OpenRC-st. Kood on kirjutatud C keeles ja levitatakse ISC litsentsi alusel.
S6-RC teenusehaldur sisaldab tööriistade komplekti pikaajaliste protsesside (demonite) käivitamiseks ja peatamiseks või koheselt lõpetatavate initsialiseerimisskriptide jaoks. Töö käigus tagatakse paralleelne käivitamine mitteühtivate teenuste vahel ning tagatakse käivitusskriptide korduv täitmise järjekord iga kord erinevatel käivitustel. Kõik olekumuutused töödeldakse sõltuvusi arvesse võttes, näiteks teenuse käivitamisel käivitatakse automaatselt selle jaoks vajalikud sõltuvused ning peatamisel peatatakse ka vastavad teenused.
Erinevalt teistest teenusehalduritest toetab s6-rc ennetavat (offline-režiimis) sõltuvusgraafi koostamist olemasoleva teenuste kogumi jaoks, mis võimaldab teostada ressursimahukat sõltuvusanalüüsi eraldi, mitte laadimise või oleku muutmise ajal. Samal ajal ei ole süsteem monoliitne ning on jagatud mitmeks eraldi ja vahetatavateks mooduliteks, millest igaühel on Unix'i filosoofia kohaselt ainult kindel probleem lahendamiseks. Projekt s6-rc järgib minimaalsuse filosoofiat (ei sisalda midagi liigset) ja tarbib minimaalset hulka ressursse.
S6-rc-s pakutakse käivitusastmete (runlevel) asemel komplektide (bundles) kontseptsiooni, mis võimaldab grupeerida teenuseid meelevaldsete tunnuste ja lahendatavate ülesannete alusel. Tõhususe suurendamiseks kasutatakse kompileeritud sõltuvuste andmebaasi, mille loob utiliit s6-rc-compile, tuginedes käivitamise/peatamise failide kataloogide sisule. Andmebaasi analüüsimiseks ja selle üle toimingute tegemiseks pakutakse utiliite s6-rc-db ja s6-rc-update. S6 tööriistakomplekti kasutatakse Obarun, Adelie ja Artix jaotustes ning seda saab valikuliselt kasutada ka Gentoo, Void ja Alpine'il.
Projektiga arendatakse ka kaasnevaid pakette, mis täiendavad s6-rc:
- s6 – tööprotsesside jälgimise ja haldamise utiliidid (sarnased daemontools'ile ja runit'ile). Toetatakse selliseid võimalusi nagu protsesside taaskäivitamine pärast nende tõrget, teenuse aktiveerimine võrguporti pöördumise korral, sündmuste logimine (syslogd asendamine) ja kontrollitud täiendavate privileegide andmine (sarnane sudo'le).
- s6-linux-init – init-protsessi rakendus Linuxi kerneli põhjal töötavatele operatsioonisüsteemidele, mida kasutatakse süsteemide initsialiseerimiseks, kus teenuste ja skriptide haldamiseks kasutatakse s6 ja s6-rc pakette.
- 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.
- mdevd — sündmuste haldaja (sarnane udevd-le), mis on mõeldud seadmete kuumühenduse töötlemiseks. mdevd on konfigureeritud olema ühilduv Busyboxi mdeviga.
- bcnm — võrgukonfiguraator, millel on võimalused Wi-Fi seadistamiseks kliendi poolel.
- execline — skriptide kirjutamise keel.
- skalibs — teek, mis on mõeldud turvaliste süsteemirakenduste loomiseks C keeles.
- s6-dns — klientide teekide ja utiliitide komplekt, mis asendab BIND-i ja djbdns-i tüüpilisi DNS-utiliite.
- dnsfunnel — suunab kohalikud DNS-päringud välisele server (DNS edastaja).
- shibari — lihtne DNS-server.
- tipidee — HTTP-server, mis toetab HTTP/1.1.
Uues versioonis s6-rc ja sellega seotud utiliitides:
- On rakendatud käsk «s6-rc reload» pikaajaliste teenuste taaskäivitamiseks.
- On lisatud juhtfail reload-signal, mis määrab signaali, mis saadetakse protsessile taaskäivitamiseks (vaikimisi SIGHUP).
- On eemaldatud utiliit s6-rc-bundle — komplekti muutmine ilma uuesti kompileerimiseta ei ole enam toetatud.
- On pakutud uus sisemise andmebaasi formaat (uuendamiseks on vajalik kompileerimine ja utiliidi s6-rc-format-upgrade käivitamine.
- Tagatud on s6-rc-init utiliidi korrektne käivitamisprotsess teenuste initsialiseerimiseks ja parendatud süsteemsete tõrgete käsitlemine.
- s6-rc-set-change utiliidile on lisatud valikud: -I/-i, et anda hoiatust või lõpetada viga tuvastatud konfliktsete sõltuvuste korral; -P/-p konfliktsete sõltuvuste automaatse lahendamise väljalülitamiseks/sissekõikmiseks teenuste oleku muutmisel.
- Ajavahemik eemaldati vananenud variant «-f».
- s6 utiliidile on lisatud käsk s6-svscanboot, et suunata s6-svscan jälgija logid s6-log'i, kui see ei tööta PID 1 all.
- Tehtud on variant «s6-svc -l», et saata signaal taaskäivitamiseks.
- s6-frontend kasutajaliidesesse on lisatud toe toimetamisel valikuid ja käske: «s6 —user» (kasutajateenuste töötamiseks), «s6 live reset», «s6 apply», «s6 enable|disable|start|stop|kill|apply», «s6 live stop —clean».
- Tipidee HTTP-serveris on toetatud FastCGI ja lisatud valik cgi_pass_authorization.
Allikas: opennet.ru
