Pärast kaks aastat pärast viimase suurema versiooni loomist teatati, kui ta avaldas käivitamise teenusehalduri uus versioon GNU Shepherd 0.9 (varem tuntud kui dmd), mis on olemine mille on välja töötanud GNU Guixi distributsiooni arendajad alternatiivina süsteemi sõltuvusest teadlikule SysV-initi lähtestamisele.
karjus pakub kasutajaruumi funktsionaalsust asünkroonselt teenustena, mis Shepherdis on üldised funktsioonid ja objektide andmetüübid, mis eksporditakse kasutamiseks Shepherdile, et laiendada põhioperatsioonisüsteemi mingil määratletud viisil. Erinevalt systemd-st töötab kasutaja ruumi jälgimise protsess selle kasutajana.
Shepherdi kohta
Kasutajaruumi initsialiseerimise Shepherdi mudeli keskmes on laienduse kontseptsioon, mis on komponeeritavuse vorm, mille puhul teenused on kavandatud katma teisi teenuseid, täiendades neid vastavalt soovile keerukama või spetsiifilisema käitumisega. See väljendab paljudes kaasaegsetes alglaadimissüsteemides leiduvaid instantseerimispõhiseid sõltuvussuhteid, mis muudab süsteemi modulaarseks, kuid võimaldab ka teenustel üksteisega varieeruvalt suhelda teenuseid omavoliliselt.
karjus pakub ka nn virtuaalteenuseid mis võimaldavad dünaamilist saatmist seotud teenuseobjektide klassiga, näiteks need, mis loovad süsteemi postiedastusagendi (MTA).
Shepherdi deemoni juhitav süsteem võib kujutada oma kasutajaruumi suunatud atsüklilise graafikuna, kus "süsteemiteenus" (vastutab varase alglaadimise ja käivitusfaasi eest) on juurfunktsioon ja kõik järgnevad lähtestatud teenused on süsteemiteenuse funktsionaalsuse laiendused. , kas otse või transitiivselt muude teenuste kaudu.
Olles kirjutatud ja konfigureeritud Guile'i skeemis, GNU Shepherd on loodud olema väga programmeeritav süsteemiadministraatori poolt, kuid seda saab kasutada ka mitteprivilegeeritud deemonite ja teenuste kasutajaprofiilide haldamiseks.
Teie teenused ja seaded salvestatakse ühtlaselt skeemi koodina objektorienteeritud ja kuigi põhiline Guix-süsteem pakub teenuste põhikomplekti, saab suvalisi uusi teenuseid paindlikult deklareerida ja Guile'i objektisüsteemi GOOPS kaudu saab olemasolevaid teenuseid kasutaja äranägemise järgi ümber määratleda, paludes Shepherdil teenused dünaamiliselt ümber kirjutada. konkreetseid näiteid.
GNU Shepherd oli algselt loodud töötama koos GNU Hurdiga ja hiljem võttis selle kasutusele Guix System.
GNU Shepherd 0.9 peamised uued funktsioonid
Selles esitletavas uues versioonis on rõhutatud, et rakendatakse ajutiste teenuste kontseptsiooni (transient), mis katkestatakse automaatselt pärast lõpetamist protsessi lõpetamise või "stop" meetodi kutse tõttu, mis võib olla vajalik sünteesitud teenuste jaoks, mida ei saa pärast lõpetamist taaskäivitada.
Teine silmapaistev muudatus on teenuste jaoks ilma parameetri ""#:log-file"ta, pakutakse syslogi väljundit ja parameetriga "#:log-file" teenuste puhul kirjutatakse logi eraldi faili, mis näitab logide aega privilegeerimata Shepherdi protsessis, mis on salvestatud kataloogi $XDG_DATA_DIR.
Lisaks on tähelepanuväärne, et inetd-ga sarnaste teenuste loomiseks lisati protseduur "make-inetd-constructor" ja protseduur "make-systemd-constructor" võrgutegevuses aktiveeritavate teenuste loomiseks (stiilis systemd socket aktiveerimine).
Muudest muudatustest mis eristuvad sellest uuest versioonist:
- Taustteenuse käivitamiseks on lisatud protseduur:
- Protseduurile "make-forkexec-constructor" on lisatud parameetrid ":supplementary-groups", "#:create-session" ja "#:resource-limits".
- Garanteeritud lukuvaba töö PID-failide ootamise ajal.
- Eemaldatud Guile 2.0-ga kompileerimise tugi. Parandatud probleemid Guile'i versioonide 3.0.5–3.0.7 kasutamisel.
- Nüüd on töötamiseks vajalik Fibersi teek 1.1.0 või uuem.
- Täiustatud dokumentatsioon ja näited
- Shepherdit ei saa enam Guile 2.0-ga ehitada
- Parandage Guile 3.0 kompilaatori viga.[5-7]
- Uuendatud tõlked
Lõpuks kui olete huvitatud sellest rohkem teada saama või soovite hankida selle uue versiooni, vaadake üksikasju, dokumentatsiooni ja laadige alla saidilt järgmine link.