LINUXTALKS.CO

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

 

L


0

0

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

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

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

  • Добавлены новые промежуточные состояния сервисов - "starting" и "stopping", отображаемые при выполнении команды "herd status" и определяющие нахождение сервиса в процессе запуска или остановки (ранее поддерживались только состояния "running" и "stopped").
  • Обеспечена блокировка повторного выполнения операций "start" и "stop", если сервис уже запущен или остановлен (ранее выполнение "herd start SERVICE" приводило к попытке запуска второго экземпляра сервиса).
  • Обеспечено распараллеливание запуска зависимостей и сервисов, запускаемых в режиме "start-in-the-background".
  • Реализован учёт времени сбоев и изменений состояний каждого сервиса. Накопленная статистика показывается при выполнении команды "herd status".
  • Добавлена команда "herd log" для показа сводного лога событий и списка всех изменений состояния сервиса.
  • Добавлена команда "herd graph" для генерации данных, позволяющих при помощи Graphviz ("herd graph | xdot -") отобразить наглядный граф зависимостей.
  • Реализовано цветное подсвечивание вывода команды herd.
  • Добавлены новые сервисы: "monitoring" для отслеживания потребления ресурсов процессом shepherd и "repl" для запуска отладочного интерфейса REPL (read-eval-print loop).
  • Объявлен устаревшим интерфейс GOOPS (Guile’s Object-Oriented Programming System).

// cc-by opennet.ru
// converted with crypt’s opennet autoreposter

>>> Подробности

★★☆☆☆
Ответ на: комментарий от cocucka

могли бы просто взять соляровский svcs. он все это может, работает 15 лет в продашкене и его портировать, как два пальца. конфиги на xml только лучше чем-то заменить. и все.

crypt    
★★☆☆☆
FreeBSD / Chrome

написаны на языке Guile (одна из реализаций языка Scheme)

Зачем какой-то новый велосипедный ЯП?

X512    
★★★★
Windows / Firefox

С одной стороны, ничего плохого, с другой - очередной не совсем нужный велосипед со своим языком.

sehellion    
★★★★★★★★
Linux / Firefox
Ответ на: комментарий от X512

Какой он новый? Тот же лисп, вид сбоку.

Minona    
★★★★★
Windows / Yandex
Ответ на: комментарий от Minona

Тем, что он просто система инициализации и ничего более? Ну и как бы все фичи, которых нехватало в sysvinit там есть.

cocucka    
★★★★★★★★★★
Linux / Firefox

написаны на языке Guile (одна из реализаций языка Scheme),

Мне кажется, что лучше было бы писать на Паскале...

xwicked    
★★★★★
Linux / Firefox

Обеспечена блокировка повторного выполнения операций "start" и "stop",

Хорошо бы ещё сделать операцию "Abort start|stop" для повозможности бережного принудительного прерывания повисших операций "start" и "stop".
(по моему опыту иногда надо такое)

torvn77    
★★
Android / Chrome
Ограничение на отправку комментариев: только для зарегистрированных пользователей, score>=90