Kaks aastat pĂ€rast eelmist suurt vĂ€ljaandmist on avaldatud teenusehalduri GNU Shepherd 0.9 (endine dmd), mis areneb GNU Guix System jaotuse arendajate poolt alternatiivina SysV-init initsiaalimissĂŒsteemile, millel on sĂ”ltuvuste tugi. Shepherd'i haldussyda ja utiliidid on kirjutatud Guile'is (ĂŒks Scheme'i rakendusi), mis on samuti kasutusel teenuste seadistuste ja kĂ€ivitusparameetrite mÀÀratlemiseks. Shepherdit kasutatakse juba GuixSD GNU/Linux jaotuses ning on suunatud ka kasutamiseks GNU/Hurd'is, kuid see vĂ”ib töötada igas POSIX-ĂŒhilduvas operatsioonisĂŒsteemis, mille jaoks Guile on saadaval.
Shepherd teostab teenuste kĂ€ivitamise ja peatamise tööd, arvestades teenuste seoseid, mÀÀrates dĂŒnaamiliselt ja kĂ€ivitades teenuseid, millest valitud teenus sĂ”ltub. Shepherd toetab samuti teenuste vaheliste konfliktide mÀÀratlemist ja nende samaaegse kĂ€ivitamise vĂ€ltimist. Projekti saab kasutada nii pĂ”hina initsialiseerimissĂŒsteemina (init c PID 1) kui ka eraldiseisvana, et hallata taustaprotsesse individuaalsete kasutajate jaoks (nt tor, privoxy, mcron jne), kĂ€ivitades need nende kasutajate Ă”igustes.
Peamised uuendused:
- On rakendatud ajutiste teenuste (transient) kontseptsioon, mis deaktiveeritakse automaatselt pÀrast lÔpetamist, kui protsess lÔpetab töö vÔi kutsutakse vÀlja meetod "stop", mis vÔib olla vajalik genereeritud teenuste jaoks, mida ei saa pÀrast lÔpetamist taaskÀivitada.
- Inetd-taoliste teenuste loomiseks on lisatud protseduur "make-inetd-constructor".
- Teenuste loomiseks, mis aktiveeritakse vÔrgu tegevuse ajal (systemd'i pistiku aktiveerimise stiilis), on lisatud protseduur "make-systemd-constructor".
- On lisatud protseduur teenuse taustal kĂ€ivitamiseks â "start-in-the-background".
- Protseduurile "make-forkexec-constructor" on lisatud parameetrid ":supplementary-groups", "#:create-session" ja "#:resource-limits".
- On tagatud blokeerimata töö PID-failide ootamise ajal.
- Teenuste jaoks ilma parameetrita "#:log-file" on tagatud vÀljund syslog'i, ja teenuste, millel on parameeter "#:log-file", jaoks - logi salvestamine eraldi faili koos kirje ajaga. Madala privileegiga shepherd protsessi logid salvestatakse katalooge $XDG_DATA_DIR.
- Guile 2.0 toetus on lÔpetatud. Probleemid Guile versioonidega 3.0.5-3.0.7 on lahendatud.
- NĂŒĂŒd on nĂ”utav Fibers'i teek versioon 1.1.0 vĂ”i uuem.
Allikas: opennet.ru
