GNU Shepherd, isang service manager na binuo ni Guix

Pagkatapos ng dalawang taon ng pagbuo ng huling pangunahing bersyon, ay inihayag noong inilathala niya ang paglulunsad ng ang bagong bersyon ng tagapamahala ng serbisyo GNU Shepherd 0.9 (dating kilala bilang dmd), na pagiging binuo ng mga developer ng GNU Guix distribution bilang alternatibo sa system dependency-aware na SysV-init initialization.

Pastol ng mga tupa nagbibigay ng user space functionality asynchronously bilang mga serbisyo, na sa Shepherd ay mga generic na function at mga uri ng object data na ini-export para magamit ng Shepherd upang palawigin ang base operating system sa ilang tinukoy na paraan. Hindi tulad ng systemd, tumatakbo ang isang proseso ng pagsubaybay sa espasyo ng gumagamit bilang gumagamit na iyon.

Tungkol kay Shepherd

Sa core ng Shepherd model ng user space initialization ay ang konsepto ng extension, isang anyo ng composability kung saan ang mga serbisyo ay idinisenyo upang i-overlay ang iba pang mga serbisyo, na dinadagdagan ang mga ito ng mas detalyado o espesyal na pag-uugali ayon sa gusto. Ito ay nagpapahayag ng instantiation-based dependency na mga relasyon na matatagpuan sa maraming modernong boot system, na ginagawang modular ang system, ngunit pinapayagan din ang mga serbisyo na mag-iba-iba ang pakikipag-ugnayan sa isa't isa mga serbisyo nang arbitraryo.

Pastol ng mga tupa nagbibigay din ng tinatawag na virtual services na nagbibigay-daan sa dynamic na pagpapadala sa isang klase ng mga kaugnay na bagay ng serbisyo, gaya ng mga nagbibigay ng isang mail transfer agent (MTA) para sa system.

Ang isang system na pinamamahalaan ng Shepherd daemon ay maaaring kumatawan sa user space nito bilang isang nakadirekta na acyclic graph, na may "system service" (responsable para sa maagang boot at startup phases) bilang root at lahat ng kasunod na sinimulan na mga serbisyo bilang mga extension ng functionality ng system service , direkta man o palipat-lipat sa iba pang mga serbisyo.

Ang pagiging nakasulat at na-configure sa Guile Scheme, Ang GNU Shepherd ay idinisenyo upang maging lubos na ma-program ng system administrator, ngunit maaari ding gamitin upang pamahalaan ang mga profile ng bawat user ng mga di-privileged na daemon at serbisyo.

Ang iyong mga serbisyo at setting ay pare-parehong iniimbak bilang Scheme code object-oriented at bagama't ang isang pangunahing hanay ng mga serbisyo ay ibinibigay kasama ang pangunahing sistema ng Guix, ang mga arbitraryong bagong serbisyo ay maaaring madaling ideklara at sa pamamagitan ng object system ng Guile, GOOPS, ang mga umiiral na serbisyo ay maaaring muling tukuyin sa pagpapasya ng user sa pamamagitan ng pagtatanong sa Shepherd na dynamic na muling isulat ang mga serbisyo sa mga tiyak na paraan sa instantiation.

Ang GNU Shepherd ay orihinal na idinisenyo upang magtrabaho kasama ang GNU Hurd at kalaunan ay pinagtibay ng Guix System.

Pangunahing bagong tampok ng GNU Shepherd 0.9

Sa bagong bersyon na ito na ipinakita, ito ay naka-highlight na ipinatupad ang konsepto ng pansamantalang serbisyo (lumilipas), na awtomatikong nadidiskonekta pagkatapos ng pagwawakas dahil sa pagwawakas ng proseso o "stop" na tawag sa pamamaraan, na maaaring kailanganin para sa mga synthesize na serbisyo na hindi maaaring i-restart pagkatapos ng pagwawakas.

Ang isa pang pagbabago na namumukod-tangi ay para sa mga serbisyong walang parameter na ""#:log-file"., output sa syslog ay ibinigay at para sa mga serbisyong may "#:log-file" na parameter, ang log ay isinusulat sa isang hiwalay na file na nagsasaad ng oras ng mga log sa hindi karapat-dapat na proseso ng Shepherd na naka-imbak sa $XDG_DATA_DIR na direktoryo.

Bilang karagdagan dito, dapat tandaan na ang "make-inetd-constructor" na pamamaraan ay idinagdag upang lumikha ng mga serbisyo na katulad ng inetd at na ang "make-systemd-constructor" na pamamaraan ay idinagdag upang lumikha ng mga serbisyo na naisaaktibo sa aktibidad ng network ( style systemd socket activation).

Sa iba pang mga pagbabago tumayo mula sa bagong bersyon na ito:

  • Nagdagdag ng pamamaraan upang simulan ang serbisyo sa background:
  • Idinagdag ang ":supplementary-groups", "#:create-session" at "#:resource-limits" na mga parameter sa pamamaraang "make-forkexec-constructor".
  • Garantisadong lock-free na operasyon habang naghihintay ng mga PID file.
  • Inalis ang suporta para sa pag-compile sa Guile 2.0. Inayos ang mga isyu kapag gumagamit ng mga bersyon ng Guile 3.0.5-3.0.7.
  • Ang Fibers library 1.1.0 o mas bago ay kailangan na ngayong gumana.
  • Pinahusay na dokumentasyon at mga halimbawa
  • Hindi na mabuo ang Shepherd gamit ang Guile 2.0
  • Ayusin sa Guile 3.0 compiler bug.[5-7]
  • Nai-update na mga pagsasalin

Sa wakas kung interesado kang malaman ang tungkol dito o gusto mong makuha ang bagong bersyon na ito, maaari mong konsultahin ang mga detalye, dokumentasyon at pag-download mula sa ang sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.