Lage sistèm GNU Shepherd 0.9 init la

Dezan apre fòmasyon dènye lage enpòtan an, manadjè sèvis GNU Shepherd 0.9 (ansyen dmd) te pibliye, ki te devlope pa devlopè distribisyon sistèm GNU Guix kòm yon altènativ a sistèm inisyalizasyon SysV-init ki sipòte depandans. . Daemon kontwòl Shepherd ak sèvis piblik yo ekri nan lang Guile (youn nan aplikasyon lang Scheme), ki itilize tou pou defini anviwònman ak paramèt pou lanse sèvis yo. Shepherd deja itilize nan distribisyon GuixSD GNU/Linux epi li vize tou pou itilize nan GNU/Hurd, men li ka kouri sou nenpòt OS ki konfòm ak POSIX pou lang Guile ki disponib.

Shepherd fè travay la nan kòmanse ak sispann sèvis yo lè li pran an konsiderasyon relasyon ki genyen ant sèvis yo, dinamikman idantifye ak kòmanse sèvis yo sou ki sèvis la chwazi depann. Shepherd sipòte tou detekte konfli ant sèvis yo ak anpeche yo kouri ansanm. Pwojè a ka itilize tou de kòm sistèm inisyalizasyon prensipal la (init ak PID 1), ak nan yon fòm separe nan jere pwosesis background nan itilizatè endividyèl yo (pou egzanp, kouri tor, privoxy, mcron, elatriye) ak ekzekisyon ak dwa yo. nan itilizatè sa yo.

Prensipal inovasyon:

  • Konsèp sèvis tanporè (pasaj) aplike, otomatikman enfim apre yo fin fini akòz revokasyon pwosesis la oswa apèl nan metòd "sispann", ki ka nesesè pou sèvis sentèz ki pa ka rekòmanse apre fèmen.
  • Pou kreye sèvis ki sanble ak inetd, yo te ajoute pwosedi "make-inetd-constructor".
  • Pou kreye sèvis ki aktive pandan aktivite rezo a (nan style deklanchman priz systemd), yo te ajoute pwosedi "make-systemd-constructor".
  • Te ajoute pwosedi pou kòmanse yon sèvis nan background nan - "kòmanse nan background nan".
  • Te ajoute paramèt ":supplémentary-groups", "#:create-session" ak "#:resource-limits" nan pwosedi "make-forkexec-constructor".
  • Pèmèt operasyon san bloke pandan w ap tann dosye PID.
  • Pou sèvis ki pa gen paramèt "#:log-file", yo bay pwodiksyon nan syslog, epi pou sèvis ki gen paramèt #:log-file, yo ekri log-la nan yon fichye separe ki endike lè anrejistreman yo. Yo estoke mòso ki soti nan pwosesis gadò ki pa gen privilèj yo nan anyè $XDG_DATA_DIR.
  • Sipò pou bati ak Guile 2.0 te sispann. Pwoblèm lè w ap itilize vèsyon Guile 3.0.5-3.0.7 yo te rezoud.
  • Bibliyotèk Fibres 1.1.0 oswa pi nouvo kounye a oblije travay.

Sous: opennet.ru

Add nouvo kòmantè