Eldono de la initsistemo GNU Shepherd 0.9

Du jarojn post la formado de la lasta signifa eldono, la serva administranto GNU Shepherd 0.9 (antaŭe dmd) estis publikigita, kiu estas disvolvita de la programistoj de la GNU Guix System-distribuo kiel alternativo al la SysV-init-iniciiga sistemo kiu subtenas dependecojn. . La kontroldemono kaj iloj de Shepherd estas skribitaj en la lingvo Guile (unu el la efektivigoj de la lingvo Scheme), kiu ankaŭ estas uzata por difini agordojn kaj parametrojn por lanĉi servojn. Shepherd jam estas uzata en la distribuo GuixSD GNU/Linukso kaj ankaŭ celas uzi en GNU/Hurd, sed povas funkcii per iu ajn POSIX-konforma OS por kiu la lingvo Guile estas disponebla.

Shepherd faras la laboron komenci kaj ĉesigi servojn konsiderante la rilatojn inter servoj, dinamike identigante kaj komencante la servojn de kiuj dependas la elektita servo. Shepherd ankaŭ subtenas detekti konfliktojn inter servoj kaj malhelpi ilin funkcii samtempe. La projekto povas esti uzata kaj kiel la ĉefa inicialiga sistemo (init kun PID 1), kaj en aparta formo por administri fonajn procezojn de individuaj uzantoj (ekzemple por ruli tor, privoxy, mcron, ktp.) kun ekzekuto kun la rajtoj. de ĉi tiuj uzantoj.

Ĉefaj novigoj:

  • La koncepto de provizoraj servoj (pasemaj) estas efektivigita, aŭtomate malŝaltita post kompletigo pro fino de la procezo aŭ voko de la "halto" metodo, kiu povas esti postulata por sintezitaj servoj kiuj ne povas esti rekomencitaj post ĉesigo.
  • Por krei inetd-similajn servojn, la proceduro "make-inetd-constructor" estis aldonita.
  • Por krei servojn, kiuj estas aktivigitaj dum reto-agado (en la stilo de aktivigo de systemd socket), la proceduro "make-systemd-constructor" estis aldonita.
  • Aldonita proceduro por komenci servon en la fono - "komenco-en-la-fono".
  • Aldonitaj parametroj ":supplementary-groups", "#:create-session" kaj "#:resource-limits" al la rutino "make-forkexec-constructor".
  • Ebligita operacio sen blokado dum atendado de PID-dosieroj.
  • Por servoj sen la parametro "#:log-file", eligo al syslog estas provizita, kaj por servoj kun la parametro #:log-file, la protokolo estas skribita al aparta dosiero indikante la tempon de registradoj. Registroj de la senprivilegia paŝtista procezo estas konservitaj en la dosierujo $XDG_DATA_DIR.
  • Subteno por konstrui kun Guile 2.0 estis nuligita. Problemoj dum uzado de Guile-versioj 3.0.5-3.0.7 estis solvitaj.
  • La Fibres-biblioteko 1.1.0 aŭ pli nova nun estas postulata por funkcii.

fonto: opennet.ru

Aldoni komenton