Esitatud on GNU Shepherd 1.0.0 süsteemihaldur (endine dmd), mis ühendab süsteemi initsialiseerimise ja süsteemiteenuste haldamise tööriistade võimalused. Tähistatakse, et 21 aasta arendustöö järel omandatud 1.0 versioon tähistab projekti valmiduse tunnustamist ning selle vastavust kaasaegsete initsialiseerimissüsteemide ja teenuste haldajate funktsionaalsuse nõuetele.
Projekt areneb GNU Guix System jaotuse arendajate poolt alternatiivina SysV-init initsialiseerimissüsteemile, mis toetab sõltuvusi. Halduse daemon ja tööriistad Shepherd on kirjutatud Guile keeles (üks Scheme'i rakendusi), mida kasutatakse ka teenuste seadistuste ja käivitamisparameetrite määramiseks. Shepherdit kasutatakse juba GNU Guix System jaotuses ning see on suunatud ka GNU/Hurd kasutamiseks, kuid see võib töötada iga POSIX-i ühilduva operatsioonisüsteemi puhul, mille jaoks on saadaval Guile keel.
Shepherd teostab teenuste käivitamist ja peatamist, arvestades teenuste vahelisi seoseid, dünaamiliselt määrates ja käivitades teenuseid, millest valitud teenus sõltub. Shepherd toetab samuti konfliktide määratlemist teenuste vahel ning takistab nende samaaegset täitmist. Projekti saab kasutada nii peamise initsialiseerimissüsteemina (init PID 1) kui ka eraldi vormis, et hallata teatud kasutajate taustateenuseid (nt tor, privoxy, mcron jne), tehes seda vastava kasutaja õiguste all.
GNU Shepherd 1.0.0 peamised uuendused:
- Lisatud on tugi teenustele, mis käivitavad käsku või koodi Scheme keeles määratud ajakava alusel.
- «herd status SERVICE» meeskonnas on rakendatud kõrgema taseme teabe kuvamine teenuste kohta, nagu PID, käsk ja aadressid, kuhu võetakse vastu võrgupäringud, samuti hiljuti logisse lisatud sõnumite kokkuvõtted. Lisaks näitab see käsk nüüd teenuslike kasutaja toimingute rakendatavust ja teavitab asendusteenuse olemasolust, mis rakendub pärast praeguse teenuse taaskäivitamist.
- Käsk «herd status root» ei ole enam sünonüüm «herd status» ja kuvab teavet juureprotsessi shepherd kohta.
- Linuxi platvormile on lisatud võimalus taaskäivitada kexec mehhanismi abil («reboot —kexec»), et asendada Linuxi tuum ilma füüsilise taaskäivitamiseta.
- Lisatud teenus log-rotation, mis vastutab logide perioodilise rüüstamise ja vanade logide eemaldamise eest.
- Lisatud teenus system-log, mida saab kasutada traditsioonilise syslogd süsteemi asendamiseks.
- Lisatud teenus timer, et käivitada käske määratud ajal, sarnaselt utiliidile «at». Näiteks «herd schedule timer at 07:00 — mpg123 alarm.mp3».
- Lisatud teenus transient, et käivitada käske taustal, sarnaselt utiliidile systemd-run. Näiteks «herd spawn transient -d $PWD — make -j4».
Allikas: opennet.ru
