Lanzamiento del sistema GNU Shepherd 0.9.2 init

Se ha publicado el administrador de servicios GNU Shepherd 0.9.2 (anteriormente dmd), que está siendo desarrollado por 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.

Entre los cambios:

  • Los descriptores de archivos utilizados en Shepherd ahora están marcados con el indicador O_CLOEXEC (cerrar en ejecución) en lugar de cerrarse inmediatamente cuando se ejecuta un comando ejecutivo, lo que permite pasar identificadores a servicios iniciados indirectamente por un comando ejecutivo.
  • Las conexiones de los clientes ahora se procesan sin bloqueo, lo que evita que Shepherd se cuelgue al enviar un comando incompleto.
  • Garantiza que se cree un directorio para los archivos de registro definidos en la configuración "archivo de registro" si no existe.

Fuente: opennet.ru

Añadir un comentario