Llançament del sistema d'inici GNU Shepherd 0.9.2

S'ha publicat el gestor de serveis GNU Shepherd 0.9.2 (anteriorment dmd), que està sent desenvolupat pels desenvolupadors de la distribució GNU Guix System com a alternativa al sistema d'inicialització SysV-init que admet dependències. El dimoni de control de Shepherd i les utilitats estan escrites en el llenguatge Guile (una de les implementacions del llenguatge Scheme), que també s'utilitza per definir la configuració i els paràmetres per llançar serveis. Shepherd ja s'utilitza a la distribució GuixSD GNU/Linux i també està orientat al seu ús a GNU/Hurd, però es pot executar en qualsevol sistema operatiu compatible amb POSIX per al qual estigui disponible el llenguatge Guile.

Shepherd fa la feina d'iniciar i aturar serveis tenint en compte les relacions entre serveis, identificant i posant en marxa de forma dinàmica els serveis dels quals depèn el servei seleccionat. Shepherd també admet la detecció de conflictes entre serveis i evitar que s'executin simultàniament. El projecte es pot utilitzar tant com a sistema d'inicialització principal (init amb PID 1), com en una forma independent per gestionar processos en segon pla d'usuaris individuals (per exemple, per executar tor, privoxy, mcron, etc.) amb l'execució amb els drets d'aquests usuaris.

Entre els canvis:

  • Els descriptors de fitxers utilitzats a Shepherd es marquen ara amb la marca O_CLOEXEC (close-on-exec) en lloc de tancar-se immediatament quan s'executa una ordre exec, la qual cosa permet passar els identificadors als serveis iniciats indirectament per una ordre exec.
  • Les connexions de client ara es processen sense bloqueig, la qual cosa evita que el pastor es pengi quan s'envia una ordre incompleta.
  • Assegura que es crea un directori per als fitxers de registre definits a la configuració "fitxer de registre" si no existeix.

Font: opennet.ru

Afegeix comentari