Objavljena je bila izdaja 0.7.0.0 upravitelja storitev s6-rc. Zasnovan je za upravljanje zagona inicializacijskih skriptov in storitev. Podpira sledenje drevesu odvisnosti in samodejni zagon ali zaustavitev storitev za dosego določenega stanja. Komplet orodij s6-rc se lahko uporablja tako v inicializacijskih sistemih kot tudi za organizacijo zagona poljubnih storitev na podlagi dogodkov, ki odražajo spremembe stanja sistema. Sistem podpira inicializacijske skripte, združljive s sysv-init, in lahko uvozi informacije o odvisnostih iz sysv-rc ali OpenRC. Koda je napisana v jeziku C in se distribuira pod licenco ISC.
Upravitelj storitev s6-rc vključuje nabor pripomočkov za zagon in zaustavitev dolgotrajnih procesov (demonov) ali takojšnje prekinitve inicializacijskih skriptov. Med delovanjem je zagotovljen vzporedni zagon storitev, ki se ne sekajo, in ponavljajoče se zaporedje izvajanja skriptov je zagotovljeno za različne zagone. Vse spremembe stanja se obdelajo ob upoštevanju odvisnosti, na primer, ko se storitev zažene, se odvisnosti, potrebne za njeno delovanje, samodejno zaženejo, ko pa se ustavi, se ustavijo tudi odvisne storitve.
Za razliko od drugih upravljalnikov storitev s6-rc podpira proaktivno (brez povezave) izgradnjo grafa odvisnosti za obstoječi nabor storitev, kar omogoča ločeno izvajanje analize odvisnosti, ki zahteva veliko virov, namesto med zagonom ali spremembami stanja. Hkrati sistem ni monoliten in je razdeljen na vrsto ločenih in zamenljivih modulov, od katerih vsak v skladu s filozofijo Unixa rešuje le določeno nalogo. Projekt s6-rc se drži filozofije minimalizma (ne vsebuje ničesar nepotrebnega) in porabi minimalno količino virov.
Namesto nivojev izvajanja s6-rc uporablja koncept svežnjev, ki omogočajo združevanje storitev po poljubnih merilih in nalogah. Za izboljšanje učinkovitosti se uporablja prevedena baza podatkov o odvisnostih, ki jo ustvari pripomoček s6-rc-compile na podlagi vsebine imenikov, ki vsebujejo datoteke za zagon/ustavitev storitev. Za razčlenjevanje in upravljanje baze podatkov sta na voljo pripomočka s6-rc-db in s6-rc-update. Orodjarna s6 se uporablja v distribucijah Obarun, Adelie in Artix, po želji pa se lahko uporablja tudi v distribucijah Gentoo, Void in Alpine.
Projekt razvija tudi spremljevalne pakete, ki dopolnjujejo s6-rc:
- s6 je pripomoček za spremljanje in upravljanje procesov (podobno kot daemontools in runit). Podpira funkcije, kot so ponovni zagon procesov po njihovem nenormalnem zaključku, zagon obdelovalca (aktivacija storitve) ob dostopu do omrežnih vrat, beleženje dogodkov (nadomestek za syslogd) in nadzorovano podeljevanje dodatnih privilegijev (podobno kot sudo).
- s6-linux-init — implementacija procesa init za operacijske sisteme, ki temeljijo na jedru Linux, ki se uporablja za ustvarjanje init sistemov, ki uporabljajo paketa s6 in s6-rc za upravljanje storitev in skript.
- s6-networking je nabor pripomočkov za ustvarjanje omrežnih storitev, podobnih ucspi.
- s6-frontend - ogrodje za ponovno ustvarjanje funkcionalnosti daemontools in runit na vrhu s6.
- s6-portable-utils je nabor standardnih pripomočkov Unix, kot so cut, chmod, ls, sort in grep, optimiziran za minimalno porabo virov in dobavljen pod licenco ISC.
- s6-linux-utils - nabor pripomočkov, povezanih z Linuxkot so chroot, freeramdisk, logwatch, mount in swapon.
- mdevd je upravljalnik dogodkov (podoben kot udevd), zasnovan za upravljanje vročega priklopa naprav. mdevd je konfiguracijsko združljiv z Busyboxovim mdev.
- bcnm je omrežni konfigurator z zmožnostmi konfiguriranja omrežja Wi-Fi na strani odjemalca.
- execline je skriptni jezik.
- skalibs je knjižnica za ustvarjanje varnih sistemskih aplikacij v jeziku C.
- s6-dns je nabor odjemalskih knjižnic in pripomočkov, ki nadomeščajo standardne pripomočke DNS iz BIND in djbdns.
- dnsfunnel - preusmeri lokalne DNS zahteve na zunanje strežnik (Posrednik DNS).
- shibari je preprost DNS strežnik.
- tipidee je strežnik HTTP s podporo za HTTP/1.1.
V novi različici s6-rc in sorodnih pripomočkov:
- Za ponovni zagon dolgotrajnih storitev je bil implementiran ukaz »s6-rc reload«.
- Dodana je kontrolna datoteka za ponovni zagon, ki definira signal, poslan procesu za ponovni zagon (privzeto je SIGHUP).
- Pripomoček s6-rc-bundle je bil odstranjen - spreminjanje paketov brez ponovnega prevajanja ni več podprto.
- Predlagan je bil nov format za notranjo bazo podatkov (posodobitev zahteva ponovno prevajanje in zagon pripomočka s6-rc-format-upgrade).
- Zagotovljeno je bilo pravilno obravnavanje situacije ponovnega zagona pripomočka s6-rc-init za inicializacijo storitve, izboljšano pa je bilo tudi obravnavanje sistemskih napak.
- Pripomoček s6-rc-set-change je bil posodobljen z naslednjimi možnostmi: -I/-i za prikaz opozorila ali napake, ko je zaznana konfliktna odvisnost; -P/-p za onemogočanje/omogočanje samodejnega reševanja konfliktov odvisnosti, ko se stanje storitev spremeni.
- Odstranjena zastarela možnost "-f".
- Pripomoček s6 ima zdaj ukaz s6-svscanboot za preusmeritev dnevnikov nadzornika s6-svscan v s6-log, ko se ne izvaja pod PID 1.
- Implementirana je možnost "s6-svc -l" za pošiljanje signala za ponovni zagon.
- Uporabniški vmesnik s6-frontend zdaj podpira naslednje možnosti in ukaze: "s6 --user" (za delo z uporabniškimi storitvami), "s6 live reset", "s6 apply", "s6 enable|disable|start|stop|kill|apply", "s6 live stop --clean".
- HTTP strežnik tipidee zdaj podpira FastCGI in dodaja možnost cgi_pass_authorization.
Vir: opennet.ru
