Vydání systému inicializace GNU Shepherd 0.9

Po dvou letech od vydání předchozího významného vydání byl vydán správce služeb GNU Shepherd 0.9 (dříve dmd), který se vyvíjí vývojáři distribuce GNU Guix System jako alternativa k systému inicializace SysV-init, podporující závislosti. Řídící démon a utility Shepherd jsou napsány v jazyce Guile (jedna z implementací jazyka Scheme), který se také používá pro definování nastavení a parametrů spouštění služeb. Shepherd je již používán v distribuci GuixSD GNU/Linux a je cílen také na použití v GNU/Hurd, ale může pracovat v jakémkoli operačním systému kompatibilním s POSIX, pro který je k dispozici jazyk Guile.

Shepherd provádí úlohy spouštění a zastavování služeb, přičemž zohledňuje vzájemné vztahy mezi službami, dynamicky určuje a spouští služby, od kterých závisí vybraná služba. Shepherd také podporuje definici konfliktů mezi službami a brání jejich současnému provádění. Projekt může být použit jak jako hlavní systém inicializace (init s PID 1), tak v odděleném režimu pro správu procesů na pozadí jednotlivých uživatelů (například pro spuštění tor, privoxy, mcron atd.) s prováděním s právy těchto uživatelů.

Hlavní novinky:

  • Byla implementována koncepce dočasných služeb (transient), které se automaticky vypínají po dokončení kvůli ukončení procesu nebo vyvolání metody „stop“, což může být potřeba pro generované služby, které nelze restartovat po dokončení.
  • Pro vytváření inetd-podobných služeb byla přidána procedura „make-inetd-constructor“.
  • Pro vytváření služeb aktivovaných při síťové aktivitě (ve stylu systemd socket activation) byla přidána procedura „make-systemd-constructor“.
  • Byla přidána procedura pro spuštění služby na pozadí — „start-in-the-background“.
  • Do procedury „make-forkexec-constructor“ byly přidány parametry „:supplementary-groups“, „#:create-session“ a „#:resource-limits“.
  • Bylo zajištěno neblokující provádění během čekání na PID soubory.
  • Pro služby bez parametru „#:log-file“ byl zajištěn výstup do syslogu, a pro služby s parametrem „#:log-file“ — zápis logu do samostatného souboru s uvedením časových záznamů. Logy od neprivilegovaného procesu shepherd se ukládají do adresáře $XDG_DATA_DIR.
  • Podpora pro sestavení s Guile 2.0 byla ukončena. Byly vyřešeny problémy při používání verzí Guile 3.0.5-3.0.7.
  • Pro práci je nyní vyžadována knihovna Fibers 1.1.0 nebo novější verze.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster