Pas dy vjetësh nga formimi i lëshimit të mëparshëm të rëndësishëm, është publikuar menaxheri i shërbimeve GNU Shepherd 0.9 (i njohur si dmd), i cili zhvillohet nga zhvilluesit e distribucionit GNU Guix System si një alternativë ndaj sistemit të inicializimit SysV-init, që mbështet varësitë. Demoni menaxhues dhe utilitetet Shepherd janë shkruar në gjuhën Guile (një nga implementimet e gjuhës Scheme), e cila gjithashtu përdoret për të përcaktuar konfigurimet dhe parametrat e nisjes së shërbimeve. Shepherd është tashmë i implementuar në distribucionin GuixSD GNU/Linux dhe ka për qëllim gjithashtu përdorimin në GNU/Hurd, por mund të funksionojë në çdo sistem operativ që është i përputhshëm me POSIX, për të cilin është e disponueshme gjuhë Guile.
Shepherd merr një rol në nisjen dhe ndaljen e shërbimeve, duke marrë parasysh ndërveprimin mes tyre dhe duke përcaktuar dinamikisht shërbimet nga të cilat varet shërbimi i zgjedhur. Shepherd gjithashtu mbështet identifikimin e konflikteve midis shërbimeve dhe parandalon ekzekutimin e tyre njëkohësisht. Projekti mund të përdoret si një sistem kryesor inicializimi (init c PID 1), si dhe në një formë të veçantë për menaxhimin e proceseve pasuese të përdoruesve të veçantë (p.sh., për të nisur tor, privoxy, mcron etj.) me ekzekutimin në të drejtat e këtyre përdoruesve.
TĂ« rejat kryesore:
- Koncepsi e shërbimeve të përkohshme (transient) është realizuar, të cilat çaktivizohen automatikisht pas mbarimit të procesit ose thirrjes së metodës «stop», e cila mund të kërkohet për shërbimet e sintetizuara që nuk mund të rinisin pas përfundimit të punës.
- Për të krijuar shërbime të ngjashme me inetd, është shtuar procedura «make-inetd-constructor».
- Për të krijuar shërbime që aktivizohen gjatë aktivitetit rrjetor (në stilin e aktivizimit të socket-it të systemd), është shtuar procedura «make-systemd-constructor».
- ĂshtĂ« shtuar procedura pĂ«r tĂ« nisur shĂ«rbimin nĂ« mĂ«nyrĂ« tĂ« fshehtĂ« â «start-in-the-background».
- Në procedurën «make-forkexec-constructor» janë shtuar parametrat «:supplementary-groups», «#:create-session» dhe «#:resource-limits».
- Sigurohet funksionimi pa bllokim gjatë pritjes së skedarëve PID.
- PĂ«r shĂ«rbimet pa parametrin «#:log-file», Ă«shtĂ« siguruar dalje nĂ« syslog, ndĂ«rsa pĂ«r shĂ«rbimet me parametrin «#:log-file» â regjistrimi i logut nĂ« njĂ« file tĂ« veçantĂ« me shĂ«nimin e kohĂ«s sĂ« regjistrimeve. Loget nga procesi jo privat shepherd ruhen nĂ« katalogun $XDG_DATA_DIR.
- Ka përfunduar mbështetja për ndërtimin me Guile 2.0. Janë zgjidhur problemet gjatë përdorimit të versioneve Guile 3.0.5-3.0.7.
- Për funksionim tani kërkohet biblioteka Fibers 1.1.0 ose një version më të ri.
Burimi: opennet.ru
