Izdaja inicialnega sistema GNU Shepherd 0.9.2

Objavljen je bil upravitelj storitev GNU Shepherd 0.9.2 (prej dmd), ki ga razvijajo razvijalci distribucije GNU Guix System kot alternativo inicializacijskemu sistemu SysV-init, ki podpira odvisnosti. Nadzorni demon in pripomočki Shepherd so napisani v jeziku Guile (ena od implementacij jezika Scheme), ki se uporablja tudi za določanje nastavitev in parametrov za zagon storitev. Shepherd se že uporablja v distribuciji GuixSD GNU/Linux in je prav tako namenjen uporabi v GNU/Hurd, vendar se lahko izvaja v katerem koli OS, združljivem s POSIX, za katerega je na voljo jezik Guile.

Shepherd zažene in ustavi storitve tako, da upošteva razmerja med storitvami, dinamično prepozna in zažene storitve, od katerih je izbrana storitev odvisna. Shepherd podpira tudi odkrivanje konfliktov med storitvami in preprečevanje njihovega sočasnega izvajanja. Projekt se lahko uporablja kot glavni inicializacijski sistem (init s PID 1) in v ločeni obliki za upravljanje procesov v ozadju posameznih uporabnikov (na primer za zagon tor, privoxy, mcron itd.) z izvajanjem s pravicami teh uporabnikov.

Med spremembami:

  • Deskriptorji datotek, ki se uporabljajo v programu Shepherd, so zdaj označeni z zastavico O_CLOEXEC (close-on-exec), namesto da bi se takoj zaprli, ko se izvede ukaz exec, kar omogoča posredovanje ročajev storitvam, ki jih posredno zažene ukaz exec.
  • Povezave odjemalcev se zdaj obdelujejo na način brez blokiranja, kar preprečuje, da bi pastir obnesel ob pošiljanju nepopolnega ukaza.
  • Zagotavlja, da je ustvarjen imenik za datoteke dnevnika, določene v nastavitvi »datoteka dnevnika«, če ta ne obstaja.

Vir: opennet.ru

Dodaj komentar