Vydanie inicializačného systému GNU Shepherd 0.9.2

Bol zverejnený správca služieb GNU Shepherd 0.9.2 (predtým dmd), ktorý vyvíjajú vývojári distribúcie GNU Guix System ako alternatívu k inicializačnému systému SysV-init, ktorý podporuje závislosti. Ovládací démon a utility Shepherd sú napísané v jazyku Guile (jedna z implementácií jazyka Scheme), ktorý sa používa aj na definovanie nastavení a parametrov spúšťania služieb. Shepherd sa už používa v distribúcii GuixSD GNU/Linux a je tiež zameraný na použitie v GNU/Hurd, ale môže bežať na akomkoľvek OS kompatibilnom s POSIX, pre ktorý je dostupný jazyk Guile.

Shepherd vykonáva prácu spúšťania a zastavovania služieb tak, že berie do úvahy vzťahy medzi službami, dynamicky identifikuje a spúšťa služby, na ktorých závisí vybraná služba. Shepherd tiež podporuje zisťovanie konfliktov medzi službami a predchádzanie ich súbežnému spusteniu. Projekt je možné použiť ako hlavný inicializačný systém (init s PID 1), tak aj v samostatnej forme na správu procesov na pozadí jednotlivých používateľov (napríklad spúšťať tor, privoxy, mcron a pod.) s vykonávaním s právami týchto používateľov.

Medzi zmenami:

  • Deskriptory súborov používané v Shepherd sú teraz označené príznakom O_CLOEXEC (close-on-exec) namiesto toho, aby sa zatvorili okamžite po vykonaní príkazu exec, čo umožňuje odovzdanie popisovačov službám spusteným nepriamo príkazom exec.
  • Klientske pripojenia sú teraz spracované neblokovaným spôsobom, čo zabraňuje tomu, aby sa Shepherd zavesil pri odosielaní neúplného príkazu.
  • Zabezpečuje, aby bol vytvorený adresár pre protokolové súbory definované v nastavení „log-file“, ak neexistuje.

Zdroj: opennet.ru

Pridať komentár