Одна из вещей, которая всегда вдохновляла в открытом исходном коде, — это непоколебимая страсть разработчиков к своему делу. Это определяющая черта движения — то, чего не найти в коридорах корпоративных офисов или в громких маркетинговых кампаниях.
Как только кажется, что проект с открытым исходным кодом канул в Лету, он тут же вспыхивает с новой силой. Именно это происходит с героем этой истории: проектом GNU Shepherd.
Представленный в 2003 году под своим прежним названием GNU dmd, Shepherd существует уже 21 год в качестве демона управления службами. Он был одной из первых систем инициализации, отошедших от традиционного стиля System V.
Это облегчённая альтернатива, написанная на GNU Guile, более монолитным менеджерам служб, таким как systemd, которые «управляют» службами, отслеживая их состояние и зависимости, и предоставляют простые, но эффективные инструменты для их запуска, остановки и перезапуска.
Ориентированный на простоту и персонализацию, Shepherd хорошо подходит и в первую очередь используется для экосистемы GNU Guix.
И сегодня, после более чем двух десятилетий разработки, Shepherd наконец-то достиг заветной отметки 1.0. В этом знаковом выпуске представлено несколько улучшений, которые делают его более мощным, чем когда-либо:
systemd-run
.at
и cron
.herd status
теперь предоставляет подробную информацию о сервисах, включая PID, команды и сообщения в журнале.
Кроме того, устаревший интерфейс GOOPS был удалён, а новые команды, такие как reboot --kexec
позволяют напрямую перезагружать ядро.
В честь этого исторического релиза теперь доступен совершенно новый логотип по лицензии Creative Commons, а проект запустил специальный веб-сайт для демонстрации своих возможностей.
Наконец, стоит отметить, что работа над Shepherd не заканчивается на версии 1.0. Разработчики уже задумываются о будущих улучшениях, включая поддержку динамически настраиваемых сервисов, интеграцию cgroups Linux и многое другое. Подробнее об этом можно узнать из официального объявления.