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

Predloženej vedúci služby GNU Shepherd 0.6 (bývalý dmd), ktorý je vyvíjaný vývojármi distribúcie GuixSD GNU/Linux ako alternatíva podporujúca závislosti k inicializačnému systému SysV-init. 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 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úšťanie tor, privoxy, mcron atď.) s vykonávaním s právami týchto používateľov. 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.

Hlavné inovácie:

  • Pridaný servisný režim jeden výstrel,
    v ktorom je služba označená ako zastavená ihneď po úspešnom spustení, čo môže byť potrebné na spustenie jednorazových úloh pred inými službami, napríklad na vykonanie čistenia alebo inicializácie;

  • Zabezpečené, že súbory so zásuvkami sa po vypnutí vymažú
    pastier;

  • Príkaz „zastavenie stáda“ už nezobrazuje chybu pri spustení na už zastavenej službe;
  • Pomocný program stáda teraz vracia nenulový návratový kód, ak spustenie úlohy zlyhá;
  • Pri spustení v kontajneri sa chyby súvisiace s načítaním ignorujú.

Zdroj: opennet.ru

Pridať komentár