Pas dy vjetësh nga krijimi i lëshimit të mëparshëm të rëndësishëm, është publikuar menaxheri i shërbimeve GNU Shepherd 0.9 (dikur dmd), i cili zhvillohet nga zhvilluesit e distribucionit GNU Guix System si një alternativë ndaj sistemit të inicializimit SysV-init, i cili mbështet varësitë. Dema menaxhuese dhe utilitat Shepherd janë shkruar në gjuhën Guile (një nga realizimet e gjuhës Scheme), e cila gjithashtu përdoret për të përcaktuar parametrat dhe konfigurimet e nisjes së shërbimeve. Shepherd tashmë po përdoret në distribucionin GuixSD GNU/Linux dhe është gjithashtu i orientuar për t'u përdorur në GNU/Hurd, por mund të punojë në çdo OS që respekton POSIX, për të cilin është e disponueshme gjuha Guile.
Shepherd kryen detyrën e nisjes dhe ndaljes së shërbimeve, duke marrë parasysh ndërveprimin midis shërbimeve, duke përcaktuar dhe nisur dinamikisht shërbimet nga të cilat varet shërbimi i zgjedhur. Shepherd gjithashtu mbështet përcaktimin e konflikteve midis shërbimeve dhe parandalon ekzekutimin e tyre të njëkohshëm. Projekti mund të përdoret si një sistem kryesor i inicializimit (init me PID 1), ashtu edhe në një formë të veçantë për menaxhimin e proceseve prapa skenave të përdoruesve të veçantë (për shembull, për të nisur tor, privoxy, mcron, etj.) me ekzekutimin e të drejtave të atyre përdoruesve.
Novitetet kryesore:
- Koncepci e shërbimeve kalimtare (transient) është realizuar, të cilat çaktivizohen automatikisht pas përfundimit për shkak të ndalimit të procesit ose thirrjes së metodës "stop", që mund të jetë e nevojshme për shërbimet e sintetizuara, të cilat nuk mund të rinisën pas përfundimit.
- Për krijimin e shërbimeve të ngjashme me inetd, është shtuar procedura "make-inetd-constructor".
- Për krijimin e shërbimeve që aktivizohen me aktivitete rrjetësh (në stilin e aktivizimit të soketëve systemd), është shtuar procedura "make-systemd-constructor".
- NjĂ« procedurĂ« pĂ«r nisjen e shĂ«rbimit nĂ« mĂ«nyrĂ« tĂ« pasme Ă«shtĂ« shtuar â "start-in-the-background".
- Në procedurën "make-forkexec-constructor" janë shtuar parametrat ":supplementary-groups", "#:create-session" dhe "#:resource-limits".
- Kjo garanton punë pa bllokim gjatë pritjes për skedarët PID.
- PĂ«r shĂ«rbimet pa parametrin "#:log-file" Ă«shtĂ« garantuar dĂ«rgimi nĂ« syslog, ndĂ«rsa pĂ«r shĂ«rbimet me parametrin "#:log-file" â regjistrimi i logut nĂ« njĂ« skedar tĂ« veçantĂ« me shĂ«nimin e kohĂ«s. Loget nga procesi jo privilegjuar shepherd ruhen nĂ« katalogun $XDG_DATA_DIR.
- Përkrahja për ndërtimin me Guile 2.0 është ndalur. Janë zgjidhur problemet me përdorimin e versioneve Guile 3.0.5-3.0.7.
- Për funksionimin tani kërkohet biblioteka Fibers 1.1.0 ose një version më të ri.
Burimi: opennet.ru
