Lanzamiento del sistema de inicialización GNU Shepherd 0.9

Después de dos años desde el lanzamiento de la última versión significativa, se ha publicado el administrador de servicios GNU Shepherd 0.9 (anteriormente dmd), que está siendo desarrollado por los creadores de la distribución GNU Guix System como una alternativa al sistema de inicialización SysV-init, el cual soporta dependencias. El demonio y las utilidades de Shepherd están escritos en Guile (una de las implementaciones del lenguaje Scheme), el cual también se utiliza para definir configuraciones y parámetros de lanzamiento de servicios. Shepherd ya está en uso en la distribución GuixSD GNU/Linux y también está destinado a ser usado en GNU/Hurd, pero puede funcionar en cualquier sistema operativo compatible con POSIX para el cual Guile esté disponible.

Shepherd se encarga de iniciar y detener servicios, teniendo en cuenta las relaciones entre los servicios, definiendo y lanzando dinámicamente los servicios de los cuales depende el servicio seleccionado. Shepherd también permite definir conflictos entre servicios y evita que se ejecuten simultáneamente. El proyecto puede usarse tanto como el sistema de inicialización principal (init con PID 1) como de manera aislada para gestionar procesos en segundo plano de usuarios individuales (por ejemplo, para iniciar tor, privoxy, mcron, etc.) ejecutándose con los privilegios de esos usuarios.

Novedades principales:

  • Se ha implementado el concepto de servicios temporales (transient), que se apagan automáticamente después de finalizar debido a la terminación del proceso o la invocación del método “stop”, lo cual puede ser necesario para servicios sintetizados que no pueden reiniciarse una vez que han finalizado.
  • Se ha añadido el procedimiento “make-inetd-constructor” para crear servicios similares a inetd.
  • Se ha añadido el procedimiento “make-systemd-constructor” para crear servicios que se activan por la actividad de la red (al estilo de la activación de sockets de systemd).
  • Se ha añadido el procedimiento para iniciar un servicio en segundo plano — “start-in-the-background”.
  • Se han añadido los parámetros “:supplementary-groups”, “#:create-session” y “#:resource-limits” al procedimiento “make-forkexec-constructor”.
  • Se ha asegurado el funcionamiento sin bloqueo mientras se esperan archivos PID.
  • Para los servicios sin el parámetro “#:log-file”, se ha asegurado la salida en syslog, y para los servicios con el parámetro “#:log-file”, se registra el log en un archivo separado con la indicación de los tiempos de las entradas. Los logs de un proceso no privilegiado de shepherd se guardan en el directorio $XDG_DATA_DIR.
  • Se ha dejado de ofrecer soporte para la construcción con Guile 2.0. Se han resuelto problemas al usar las versiones Guile 3.0.5-3.0.7.
  • Ahora se requiere la biblioteca Fibers 1.1.0 o una versión más reciente.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster