Azken bertsio esanguratsua sortu zenetik bi urtera, GNU Shepherd 0.9 (lehen dmd) zerbitzu kudeatzailea argitaratu zen, GNU Guix System banaketaren garatzaileek mendekotasunak onartzen dituen SysV-init hasierako sistemaren alternatiba gisa garatzen ari direna. . Shepherd kontrol daemon eta utilitateak Guile hizkuntzan (Scheme hizkuntzaren inplementazioetako bat) idatzita daude, zerbitzuak abiarazteko ezarpenak eta parametroak definitzeko ere erabiltzen dena. Shepherd GuixSD GNU/Linux banaketan erabiltzen da dagoeneko eta GNU/Hurd-en erabiltzeko ere zuzenduta dago, baina Guile hizkuntza erabilgarri dagoen POSIX-ekin bat datorren edozein OStan exekutatu daiteke.
Shepherd-ek zerbitzuak abiarazteko eta gelditzeko lana egiten du zerbitzuen arteko harremanak kontuan hartuta, aukeratutako zerbitzuaren menpe dauden zerbitzuak modu dinamikoan identifikatuz eta martxan jarriz. Shepherd-ek zerbitzuen arteko gatazkak detektatzeko eta aldi berean exekutatzeko saihesteko ere onartzen du. Proiektua hasierako sistema nagusi gisa erabil daiteke (init PID 1-arekin) eta inprimaki bereizi batean erabiltzaile indibidualen atzeko planoko prozesuak kudeatzeko (adibidez, tor, privoxy, mcron, etab. exekutatzeko) eskubideekin exekutatzeko. erabiltzaile horien artean.
Berrikuntza nagusiak:
- Behin-behineko zerbitzuen kontzeptua (iragankorra) inplementatzen da, amaitu ondoren automatikoki desgaituta dago prozesua amaitzeagatik edo "stop" metodoaren deiagatik, eta hori beharrezkoa izan daiteke itzali ondoren berrabiarazi ezin diren sintetizatutako zerbitzuetarako.
- Inetd antzeko zerbitzuak sortzeko, "make-inetd-constructor" prozedura gehitu da.
- Sareko jardueran aktibatzen diren zerbitzuak sortzeko (systemd socket-a aktibatzeko estiloan), "make-systemd-constructor" prozedura gehitu da.
- Zerbitzu bat atzeko planoan hasteko prozedura gehitu da - "hasi-atzealdean".
- ":supplementary-groups", "#:create-session" eta "#:resource-limits" parametroak gehitu dira "make-forkexec-constructor" prozeduran.
- Eragiketa gaituta blokeatu gabe PID fitxategien zain dagoen bitartean.
- β#:log-fileβ parametrorik gabeko zerbitzuetarako, syslog-era irteera ematen da, eta #:log-file parametroa duten zerbitzuetarako, erregistroa fitxategi bereizi batean idazten da, grabaketen ordua adieraziz. Pribilegiorik gabeko artzain-prozesuaren erregistroak $XDG_DATA_DIR direktorioan gordetzen dira.
- Guile 2.0-rekin eraikitzeko laguntza eten egin da. Guile 3.0.5-3.0.7 bertsioak erabiltzean arazoak konpondu dira.
- Fibres liburutegia 1.1.0 edo berriagoa behar da orain funtzionatzeko.
Iturria: opennet.ru