Lanzamento do sistema de inicio GNU Shepherd 0.9.2

Опубликован сервисный менеджер GNU Shepherd 0.9.2 (бывший dmd), который развивается разработчиками дистрибутива GNU Guix System в качестве альтернативы системе инициализации SysV-init, поддерживающей зависимости. Управляющий демон и утилиты Shepherd написаны на языке Guile (одна из реализаций языка Scheme), который также используется для определения настроек и параметров запуска сервисов. Shepherd уже применяется в дистрибутиве GuixSD GNU/Linux и нацелен также на использование в GNU/Hurd, но может работать в любой POSIX-совместимой ОС, для которой доступен язык Guile.

Shepherd realiza o traballo de inicio e parada de servizos tendo en conta as relacións entre servizos, identificando e iniciando de forma dinámica os servizos dos que depende o servizo seleccionado. Shepherd tamén admite detectar conflitos entre servizos e evitar que se executen simultáneamente. O proxecto pódese usar tanto como sistema de inicialización principal (init con PID 1), como nunha forma separada para xestionar procesos en segundo plano de usuarios individuais (por exemplo, para executar tor, privoxy, mcron, etc.) con execución cos dereitos. destes usuarios.

Entre os cambios:

  • Используемые в Shepherd файловые дескрипторы теперь помечаются флагом O_CLOEXEC (close-on-exec), а не закрываются сразу при выполнении «exec-command», что позволяет передавать дескрипторы сервисам, запущенным не напрямую, а при помощи «exec-command».
  • Клиентские соединения теперь обрабатываются в неблокирующем режиме, что позволяет исключить зависание shepherd при отправке неполной команды.
  • Обеспечено создание каталога для лог-файлов, определённых в настройке «log-file», в случае его отсутствия.

Fonte: opennet.ru

Engadir un comentario