Lanzamiento del sistema GNU Shepherd 0.9 init

Dos años después de la formación de la última versión importante, se publicó el administrador de servicios GNU Shepherd 0.9 (anteriormente dmd), que están desarrollando los desarrolladores de la distribución GNU Guix System como una alternativa al sistema de inicialización SysV-init que admite dependencias. . El demonio de control y las utilidades de Shepherd están escritos en el lenguaje Guile (una de las implementaciones del lenguaje Scheme), que también se utiliza para definir configuraciones y parámetros para iniciar servicios. Shepherd ya se utiliza en la distribución GuixSD GNU/Linux y también está pensado para su uso en GNU/Hurd, pero puede ejecutarse en cualquier sistema operativo compatible con POSIX para el que esté disponible el lenguaje Guile.

Shepherd realiza el trabajo de iniciar y detener servicios teniendo en cuenta las relaciones entre servicios, identificando e iniciando dinámicamente los servicios de los que depende el servicio seleccionado. Shepherd también admite la detección de conflictos entre servicios y evita que se ejecuten simultáneamente. El proyecto se puede utilizar como sistema de inicialización principal (init con PID 1) y de forma separada para gestionar procesos en segundo plano de usuarios individuales (por ejemplo, para ejecutar tor, privoxy, mcron, etc.) con ejecución con derechos. de estos usuarios.

Principales novedades:

  • Se implementa el concepto de servicios temporales (transitorios), que se desactivan automáticamente una vez finalizado debido a la finalización del proceso o la llamada al método "detener", que puede ser necesario para los servicios sintetizados que no se pueden reiniciar después del cierre.
  • Para crear servicios similares a inetd, se ha agregado el procedimiento “make-inetd-constructor”.
  • Para crear servicios que se activan durante la actividad de la red (en el estilo de activación de socket systemd), se ha agregado el procedimiento "make-systemd-constructor".
  • Se agregó un procedimiento para iniciar un servicio en segundo plano: "iniciar en segundo plano".
  • Se agregaron parámetros ":supplementary-groups", "#:create-session" y "#:resource-limits" a la rutina "make-forkexec-constructor".
  • Operación habilitada sin bloqueo mientras se espera archivos PID.
  • Para los servicios sin el parámetro “#:log-file”, se proporciona salida a syslog, y para los servicios con el parámetro #:log-file, el registro se escribe en un archivo separado que indica la hora de las grabaciones. Los registros del proceso pastor sin privilegios se almacenan en el directorio $XDG_DATA_DIR.
  • Se ha descontinuado el soporte para la construcción con Guile 2.0. Se han resuelto los problemas al utilizar las versiones 3.0.5-3.0.7 de Guile.
  • Ahora se requiere la biblioteca Fibers 1.1.0 o posterior para funcionar.

Fuente: opennet.ru

Añadir un comentario