Paglabas ng GNU Shepherd 0.9.2 init system

Ang tagapamahala ng serbisyo na GNU Shepherd 0.9.2 (dating dmd) ay nai-publish, na binuo ng mga developer ng pamamahagi ng GNU Guix System bilang alternatibo sa SysV-init initialization system na sumusuporta sa mga dependency. Ang Shepherd control daemon at mga utility ay nakasulat sa Guile language (isa sa mga pagpapatupad ng Scheme language), na ginagamit din para tukuyin ang mga setting at parameter para sa paglulunsad ng mga serbisyo. Ginagamit na ang Shepherd sa pamamahagi ng GuixSD GNU/Linux at nilalayon din itong gamitin sa GNU/Hurd, ngunit maaaring tumakbo sa anumang OS na sumusunod sa POSIX kung saan available ang wikang Guile.

Ginagawa ng Shepherd ang gawain ng pagsisimula at pagpapahinto ng mga serbisyo sa pamamagitan ng pagsasaalang-alang sa mga ugnayan sa pagitan ng mga serbisyo, dynamic na pagtukoy at pagsisimula ng mga serbisyo kung saan nakasalalay ang napiling serbisyo. Sinusuportahan din ng Shepherd ang pag-detect ng mga salungatan sa pagitan ng mga serbisyo at pagpigil sa mga ito na tumakbo nang sabay-sabay. Maaaring gamitin ang proyekto bilang pangunahing sistema ng pagsisimula (init sa PID 1), at sa isang hiwalay na anyo upang pamahalaan ang mga proseso sa background ng mga indibidwal na gumagamit (halimbawa, upang patakbuhin ang tor, privoxy, mcron, atbp.) na may pagpapatupad ng mga karapatan ng mga gumagamit na ito.

Kabilang sa mga pagbabago:

  • Ang mga deskriptor ng file na ginamit sa Shepherd ay minarkahan na ngayon ng O_CLOEXEC (close-on-exec) na flag sa halip na sarado kaagad kapag ang isang exec-command ay naisakatuparan, na nagpapahintulot sa mga handle na maipasa sa mga serbisyong sinimulan nang hindi direkta ng isang exec-command.
  • Ang mga koneksyon ng kliyente ay pinoproseso na ngayon sa paraang hindi humaharang, na pumipigil sa pastol na mabitin kapag nagpapadala ng hindi kumpletong utos.
  • Tinitiyak na ang isang direktoryo ay nilikha para sa mga log file na tinukoy sa setting ng "log-file" kung wala ito.

Pinagmulan: opennet.ru

Magdagdag ng komento