LINUX.ORG.RU

GNU Shepherd 0.5.0

 , ,


2

3

GNU Daemon Shepherd или GNU Shepherd, ранее известный как GNU dmd, является сервисным менеджером, который обеспечивает замену SysV-init (или любого другого init). Shepherd обладает мощной и красивой системой управления процессами на основе зависимостей с удобным интерфейсом. Он предназначен для использования на GNU/Hurd, но он будет работать на любой POSIX-подобной системе, где доступен Guile (разновидность Scheme), который также используется для определения настроек и параметров запуска сервисов. В частности, он используется как PID 1 в дистрибутиве GuixSD.

Также Shepherd может использоваться и отдельно для управления процессами отдельных пользователей, что похоже на возможность использования пакетного менеджера Guix для отдельных пользователей в любых POSIX-подобных системах, т. е. вне зависимости от основного сервисного менеджера.

26 сентября в списке рассылки GNU Shepherd было объявлено о выпуске вервии 0.5.0

Основные изменения по сравнению с версией 0.4.0:

  • Добавлена возможность определения замены сервисов;
  • При перезапуске сервиса теперь перезапускаются и все зависимые от него сервисы;
  • Добавлен режим мягкого (graceful) завершения работы при нажатии ctrl-alt-del (работает только при запуске как PID 1 в GNU/Linux);
  • Реализована поддержка запуска действий для сервисов, не запущенных в текущий момент;
  • Добавлена поддержка Guile 3.0. Для работы теперь требуется как минимум Guile 2.0.13;
  • Удалён неиспользуемый код с реализацией уровней запуска (runlevel).
  • Обновлены некоторые переводы (русского в списке нет).

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

Ответ на: комментарий от mandala

GuixSD использует как PID1

Ну, если оно использует — это не значит, что сабж хорош. Меня интересует разруливание зависимостей, убивание/поднимание дочерних сервисов/процессов. Это необходимый минимум.

И интересно, что там нужно писать для сервисов.

r3lgar ★★★★★ ()
Ответ на: комментарий от r3lgar

Вот пример что писать:


(register-services
  (make <service>
        #:provides '(apache-2.0 apache httpd)
        #:requires '()
        #:start (...)
        #:stop (...)
        #:actions (make-actions
                   (reload-modules (...))
                   (restart (...)))))

CLI обыкновенная.

Меня интересует разруливание зависимостей, убивание/поднимание дочерних сервисов/процессов. Это необходимый минимум.

Умеет, но самый минимум пока, альфа всё же.

mandala ★★★ ()
Ответ на: комментарий от mandala

)))))

3.14-здец! Столлманулись там все в гне этим лиспом…

Умеет, но самый минимум пока, альфа всё же.

Понел, на десктоп ставить пока рано, не говоря уже о серверах. Но потыкать где-нибудь можно.

r3lgar ★★★★★ ()
Ответ на: комментарий от r3lgar

Его можно потыкать и не как PID1, а сбоку прилепить чисто под юзера, я в новости написал. Сам еще не пробовал, но руки чешутся. Или вообще взять GuixSD и потыкать в виртуалке целиком...

mandala ★★★ ()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от r3lgar

Поясню, что мне хочется от init:

Когда у меня падает интернет (точка ушла в ребут, например), у меня останавливаются deluged, tor; когда точка активна и соединение есть, эти сервисы автоматически стартуют.

r3lgar ★★★★★ ()
Ответ на: комментарий от mandala

прилепить чисто под юзера

Нафиг он там нужен? Да и откручивать от systemd придётся много, чтобы сервисы не конфликтовали.

Или вообще взять GuixSD и потыкать в виртуалке целиком.

Этот вариант и рассматриваю, но пока не до этого.

Вообще, вещь интересная. Надеюсь, у них не получится как с Emacs (всё есть, основная функциональность не реализована).

r3lgar ★★★★★ ()
Ответ на: комментарий от r3lgar

Нафиг он там нужен?

У разрабов хотелка такая. В пакетном менеджере Guix тоже так. Там как — он сам себя еще раз запускает но с правами юзера (или его дергает любой другой штатный инит) и можно уже пустить из под юзера тор, шмор и т.п. процессы/сервисы/демоны кому не нужны особые привелегии.

mandala ★★★ ()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от mandala

Обычный рестарт зависимостей после падения есть уже, конечно.

Ну так он и в OpenRC есть.

можно уже пустить из под юзера тор, шмор и т.п. процессы/сервисы/демоны кому не нужны особые привелегии.

Да это понятно. Я имел в виду, нафиг он нужен юзеру, когда место уже занято systemd. Ведь последний искаропки так может.

А вот если сабж умеет (или будет уметь) гуйню корректно запускать — он станет бесценным!

r3lgar ★★★★★ ()
Ответ на: комментарий от mandala

но кое где и кое у кого (типа меня), на стабильном дебине например, сус5 до сих пор крутится.

Я уж начал забывать, что ещё не везде systemd протянуло свои тентакли.

r3lgar ★★★★★ ()
Ответ на: комментарий от Dmitry_Sokolowsky

Не юзал опенрц особо, как я понимаю оно над сус5-лайк скриптами, только продвинутее сус5? Ну тут нет от сус5 даже запаха, это скорее сустемд на лиспе — это если очень так грубо сказать, но основная суть такая. Ну и альфа она сырая, даже доки не дописаны на то что есть местами.

mandala ★★★ ()
Последнее исправление: mandala (всего исправлений: 3)

Также Shepherd может использоваться и отдельно для управления процессами отдельных пользователей, что похоже на возможность использования пакетного менеджера Guix для отдельных пользователей в любых POSIX-подобных системах, т. е. вне зависимости от основного сервисного менеджера

Торт?

bender ★★★★★ ()
Ответ на: комментарий от Dmitry_Sokolowsky

так что это не проблема.

Конечно, можно пробовать. Я, в свое время, пробовал. После чистой установки, процесс, под названием «yes», загружал цпу на 100 %. Ребут занял пять минут. Плюнул я на это дело. SysVinit лучше.

Odalist ★★★★★ ()
Ответ на: комментарий от ados

Админ, больше пятнадцати лет опыта использования Vim. Последние пару лет пользуюсь Емаксом почти исключительно, без evil-mode, на стандартных шоткатах. Расскажи мне, где там у Емакса нет текстового редактора и как его сложно освоить.

anonymous ()
Ответ на: комментарий от r3lgar

Системда не нужна не из коробки ни в коробке, всегда не нужна. Десктоп или сервак без разницы. Системда просто не нужна. Утыркам которым нужна системда (особенно федорастам и центосистам) следует сделать лоботомию.

anonymous ()
Ответ на: комментарий от anonymous

Вот не соглашусь с тобой, системд как раз нужен для отсеивания неадекватных людей для лоботомии и кастрации, дабы поцтерингофаны не размножались и не давали гнилого потомства. Но с этим несогласится intelfx, как главный поттеринголиз

anonymous ()

А гаварили что ГНУ не торт!

Вот, получите, независимый инит, раз sysv устарел до неюзабельности.
В любом случае пока что ГНУ держит территорию низкоуровневых компонентов для постройки современных ОС.

RTP ★★★★★ ()