Выпуск системы инициализации GNU Shepherd 0.7

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

Shepherd может использоваться как в роли основной системы инициализации (init c PID 1), так и в обособленном виде для управления фоновыми процессами отдельных пользователей (например, для запуска tor, privoxy, mcron и т.п.) с выполнением с правами данных пользователей. Shepherd выполняет работу по запуску и остановке сервисов, учитывая взаимосвязь между сервисами, динамически определяя и запуская сервисы, от которых зависит выбранный сервис. Shepherd также поддерживает определение конфликтов между сервисами и предотвращает их одновременное выполнение.

Основные новшества:

  • Реализован новый обработчик сбоев процессов, позволяющий при работе под PID 1 формировать core-дампы в GNU/Linux;
  • В сервисном менеджере появилась возможность экспортировать переменные окружения, определённые в настройке «default-environment-variables»;
  • В «make-forkexec-constructor» прекращено удаление лог-файлов;
  • Перезагрузка при нажатии ctrl-alt-del теперь запрещена на стадии до обработки файла конфигурации;
  • Код обработки исключений адаптирован для Guile 3.0.0.

Источник: http://www.opennet.ru/opennews/art.shtml?num=52384