Lançamento do sistema init 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 faz o trabalho de iniciar e interromper serviços levando em consideração as relações entre os serviços, identificando e iniciando dinamicamente os serviços dos quais depende o serviço selecionado. Shepherd também oferece suporte à detecção de conflitos entre serviços e à prevenção de sua execução simultânea. O projeto pode ser usado tanto como o sistema de inicialização principal (init com PID 1) quanto em um formulário separado para gerenciar processos em segundo plano de usuários individuais (por exemplo, para executar tor, privoxy, mcron, etc.) com execução com direitos desses usuários.

Entre as mudanças:

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

Fonte: opennet.ru

Adicionar um comentário