Vydanie systému inicializácie GNU Shepherd 0.9

Po dvoch rokoch od vydania predchádzajúcej významnej verzie bol vydaný správca služieb GNU Shepherd 0.9 (bývalý dmd), ktorý sa vyvíja vývojármi distribúcie GNU Guix System ako alternatíva k inštalačnému systému SysV-init, ktorý podporuje závislosti. Správcu démonu a utilitky Shepherd sú napísané v jazyku Guile (jedna z implementácií jazyka Scheme), ktorý sa tiež používa na definovanie nastavení a parametrov spúšťania služieb. Shepherd sa už používa v distribúcii GuixSD GNU/Linux a je určený aj na použitie v GNU/Hurd, ale môže fungovať v akomkoľvek operačnom systéme kompatibilnom s POSIX, pre ktorý je dostupný jazyk Guile.

Shepherd vykonáva prácu pri spúšťaní a zastavovaní služieb, pričom zohľadňuje vzťahy medzi službami, dynamicky určuje a spúšťa služby, od ktorých závisí vybraná služba. Shepherd tiež podporuje definovanie konfliktov medzi službami a zabraňuje ich súčasnému vykonávaniu. Projekt sa môže používať ako základný systém inicializácie (init c PID 1), tak aj v izolovanej forme na spravovanie pozadových procesov jednotlivých používateľov (napríklad na spúšťanie tor, privoxy, mcron a pod.) s vykonávaním s právami týchto používateľov.

Hlavné novinky:

  • Realizovaná koncept dočasných služieb (transient), ktoré sa automaticky vypínajú po ukončení činnosti z dôvodu skončenia procesu alebo volania metódy „stop“, čo môže byť potrebné pre syntetizované služby, ktoré nemožno znova spustiť po ich ukončení.
  • Pre vytvorenie inetd-podobných služieb bola pridaná procedúra „make-inetd-constructor“.
  • Pre vytvorenie služieb, ktoré sa aktivujú pri sieťovej aktivite (v štýle systemd socket aktivácie), bola pridaná procedúra „make-systemd-constructor“.
  • Pridaná procedúra na spustenie služby na pozadí — „start-in-the-background“.
  • Do procedúry „make-forkexec-constructor“ boli pridané parametre „:supplementary-groups“, „#:create-session“ a „#:resource-limits“.
  • Zabezpečená činnosť bez blokovania počas čakania na PID súbory.
  • Pre služby bez parametra „#:log-file“ je zabezpečené výstup do syslog, a pre služby s parametrom „#:log-file“ — zápis logu do samostatného súboru s uvedením času záznamov. Logy z neprivilegovaného procesu shepherd sa ukladajú do adresára $XDG_DATA_DIR.
  • Podpora zostavenia s Guile 2.0 bola ukončená. Riešené problémy pri používaní verzií Guile 3.0.5-3.0.7.
  • Pre fungovanie je teraz potrebná knižnica Fibers 1.1.0 alebo novšia verzia.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster