The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

21.04.2020 21:15

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

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

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

  • В make-kill-destructor реализовано убивание группы процессов;
  • Добавлен параметр "default-pid-file-timeout", определяющий время ожидания создания PID-файла;
  • Если PID-файл не появился в течение таймаута обеспечено завершение всей группы процессов (решает проблему с оставлением рабочих процессов без PID-файла);
  • В "make-forkexec-constructor" добавлен параметр "#:file-creation-mask", реализовано создание лог-файлов и прекращена поддержка старого соглашения о вызовах;
  • Решены проблемы с компиляцией на системах без prctl, таких как GNU/Hurd;
  • Устранена недоработка, приводившая к отправке SIGALRM каждую секунду.


  1. Главная ссылка к новости (https://www.mail-archive.com/i...)
  2. OpenNews: Доступен пакетный менеджер GNU Guix 1.1 и дистрибутив на его основе
  3. OpenNews: Выпуск системы инициализации GNU Shepherd 0.7
  4. OpenNews: Доступен пакетный менеджер GNU Guix 1.0 и дистрибутив GuixSD на его основе
  5. OpenNews: Выпуск системы инициализации sysvinit 2.96
  6. OpenNews: Фонд СПО признал PureOS полностью свободным дистрибутивом
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/52781-shepherd
Ключевые слова: shepherd, init, boot
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (77) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 21:30, 21/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Выпустить-то они выпустили, а юзать кто будет?
     
     
  • 2.2, Аноним (2), 21:33, 21/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я.
     
  • 2.4, Аноним (4), 21:43, 21/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В этом дистрибутиве используется https://distrowatch.com/table.php?distribution=guixsd
     
     
  • 3.6, Пластмассовый Мир (?), 22:08, 21/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А сам дистрибутив используется авторами GNU Shepherd и ещё примерно 3.5 человеками.
     
     
  • 4.18, Аноним (4), 00:45, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так только на одном Опеннете уже 3.5 наберётся. Следовательно, в мире больше.
     

  • 1.3, Аноним (3), 21:39, 21/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Я.
     
  • 1.5, Аноним (5), 21:57, 21/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –11 +/
    Система ининциализации для маргиналов. Еще и идиотскую мертвечину в виде схемы везде тащят. GNUсовца сами копают себе могилу. А Linux лучше бы им убрать, чтобы не позорить это святейшее имя.
     
     
  • 2.7, Аноним (7), 22:23, 21/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Еще и идиотскую мертвечину в виде схемы везде тащят.

    это ты так завуалированно попустил сишников назвав их старыми пердунами ?
    С (1972)
    Scheme (1975)
    С++ (1983)
    Guile (1993)

     
     
  • 3.8, Аноним (8), 22:41, 21/04/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    "мертвый" != "старый"

    Чини свой strcmp().

     
     
  • 4.9, Аноним (2), 22:55, 21/04/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    И чем же определяется мёртвость? Тем, что анониму с опеннета нинужно?
     
     
  • 5.12, Аноним (5), 23:45, 21/04/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Тем, что анониму с опеннета нинужно?

    Тем, что не нужно все, кроме кучки неадекватных GNUсовцев.

     
     
  • 6.22, Аноним (22), 01:36, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Вам кто-то навязывает Shepherd?
     
     
  • 7.43, Michael Shigorin (ok), 14:19, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Спорим, это был свидетель systemd?  Ненавязчивый такой, грамотный, ну да.
     
     
  • 8.65, Аноним (5), 21:08, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Шел бы ты лучше пились госбабло, если тебе конечно что-то достается ... текст свёрнут, показать
     
  • 5.31, КО (?), 06:07, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да!
     
  • 2.46, Аноним (46), 14:22, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Схема, как диалект Лиспа, вечна. Можно никогда не использовать Лисп, но попытка похоронить -- мгновенно ставит жирный крест на компетенции могильщика. Только совершенные дилетанты не знают десятое правило Гринспена, что уж говорить о понимании его смысла. Если же дилетант что-то из себя строит, он называется другим словом.
     
     
  • 3.66, Аноним (5), 21:12, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Глупый аноним не понимаешь разницу между игрушкой и продом.
     
     
  • 4.79, Аноним (46), 06:35, 23/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Расскажи про разницу между игрушкой GuixSD и твоем продом на локалхосте.
     
     
  • 5.82, Аноним (82), 17:24, 23/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Глупый аноним не заглядывал дальше локалхоста? Это неудивительно.
     
     
  • 6.83, Аноним (46), 17:29, 23/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Очевидно, не заглядывал. И разницы не знаешь. Потому ты и не смог он ней рассказать. И проецируешь ты, потому что глупый. Это для вас характерно.
     

  • 1.10, Аноним (-), 22:59, 21/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > может использоваться как в роли основной системы инициализации (init c PID 1), так и в обособленном виде для управления фоновыми процессами отдельных пользователей
    > выполняет работу по запуску и остановке сервисов, учитывая взаимосвязь между сервисами, динамически определяя и запуская сервисы, от которых зависит выбранный сервис
    > поддерживает определение конфликтов между сервисами и предотвращает их одновременное выполнение

    systemd здорового человека.

     
     
  • 2.11, Аноним (11), 23:11, 21/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > на языке Guile (одна из реализаций языка Scheme), который также используется для определения настроек и параметров запуска сервисов.

    ахаха, нет

     
     
  • 3.23, Аноним (22), 01:37, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Хныхныхны, да.
     
  • 3.40, freehck (ok), 13:11, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> на языке Guile (одна из реализаций языка Scheme), который также используется для определения настроек и параметров запуска сервисов.
    > ахаха, нет

    Написал экспертный аноним в 2020м году, когда выражение "YAML-программист" перестало быть оксюмороном. =)

     
     
  • 4.44, Michael Shigorin (ok), 14:20, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • –8 +/
    А ты застал резюме вида "программирую в ворде" (в смысле кнопочками текст набираю, не макросы, не подумай)?..
     
  • 4.57, Аноним (57), 18:21, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    что, на мороз выгнал, попка бо-бо?
     

  • 1.13, Аноним (13), 00:03, 22/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем это лучше systemd?
     
     
  • 2.15, Аноним (5), 00:08, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вы Леньке киньте ссыолочку - пусть заценит. Заодно и скажет, что не так. Так сказать, посмотрим своим профессиАнальным взглядом.
     
  • 2.19, Аноним (4), 00:48, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Shepherd просто сервисный менеджер, а Systemd стремится сам стать и всеми сервисами тоже.
     
  • 2.27, Аноним (27), 03:31, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да ничем. От слова "вообще". Как хурд - убог и недоделан.
     

  • 1.14, Аноним (5), 00:07, 22/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Устранена недоработка, приводившая к отправке SIGALRM каждую секунду.

    Ахахаха. Пользуйтесь, стабильно! Not a bug.

     
     
  • 2.17, Аноним (4), 00:43, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так здесь устранили, а Лёнька бы сказал Not a bug.
     
     
  • 3.52, Аноним (52), 16:26, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    у Леньки таких косяков не было даже в ранних версиях
     
     
  • 4.68, Аноним (4), 21:19, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну есстессно, Not a bug же по определению.
     
     
  • 5.70, Аноним (-), 21:38, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    разве что в фантазиях опеннетных икспертов
     
     
  • 6.76, Аноним (76), 03:37, 23/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    https://github.com/systemd/systemd/issues?q=is%3Aissue+label%3Anot-a
    https://github.com/systemd/systemd/issues?q=is%3Aissue+label%3Anot-o

    Наслаждайся, врунишка.

     
     
  • 7.80, Аноним (11), 16:15, 23/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ого, научился пользоваться гитхабом, вводить в поисковой строке репозитория not a bug? ты хоть читал,  о чем эти баг? вопрос, разумеется, риторический, я-то ответ знаю
     
     
  • 8.81, Аноним (81), 16:54, 23/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я читал, нечего ответить фактам Вопрос риторический, с фанатиками systemd давно... текст свёрнут, показать
     
  • 4.71, Аноним84701 (ok), 21:56, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > у Леньки таких косяков не было даже в ранних версиях

    Ага.
    https://www.opennet.me/opennews/art.shtml?num=45244
    > В системном менеджере systemd выявлена локальная уязвимость. Процесс PID 1 зависает на системном вызове pause() при поступлении в сокет уведомлений systemd сообщения нулевой длины,

    https://www.opennet.me/opennews/art.shtml?num=50168

    > В systemd выявлена ошибка, приводящая к выполнению сервисов с правами пользователя root, если в параметрах запуска указано имя пользователя, начинающееся с цифры. Например, если в сервисе указан "User=0day" и пользователь 0day присутствует в системе, то сервис будет запущен с идентификатором 0, т.е. с правами root.

    (хотя вру и клевещу, ведь официально это "not a bug")

    Но да, ТАКИХ -- не было *g*

     
     
  • 5.73, Аноним (-), 23:44, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    это ошибки переполнения буфера, редковоспроизводимые, а теперь без эмоций сравни их с теми, что исправили в этом лиспоменеджере, при том что возможности этого лиспоменеджера не покрывают даже одну десятую часть того, что может systemd
     
     
  • 6.74, Аноним84701 (ok), 00:29, 23/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> при поступлении в сокет уведомлений systemd сообщения нулевой длины,
    > это ошибки переполнения буфера, редковоспроизводимые,
    > а теперь без эмоций сравни их с теми, что исправили в этом лиспоменеджере,

    Угу, переполняем буфер сообщением нулевой длины. "... не только лишь все, мало кто может это делать" (с)
    И да, пройдя по ссылке, можно было увидеть и причину:
    assert(n > 0);

    О чтении "0day" как 0-UID вспоминать не будем - там никаким переполнением не пахнет, "works as intended", желающие могут полезть в код и посмотреть
    parse_pid и  safe_atou_непомню_что_там_конкретно_ использовалось
    https://github.com/systemd/systemd/blob/master/src/basic/parse-util.c
    Что там было про эмоции и сравнения?



     
  • 6.77, Аноним (76), 03:47, 23/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    systemd это такой менеджер сервисов где нет возможности определить свою restart команду, но есть встроенный ресолвер и https сервер.
     
  • 4.86, Michael Shigorin (ok), 15:23, 25/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > у Леньки таких косяков не было даже в ранних версиях

    Малыш, первый раз я увидел сегфолтнувшийся systemd ещё году в двенадцатом.  Ещё вопросы есть?

     

  • 1.16, Аноним (5), 00:12, 22/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Глупцы они. Нужно было вместо guile js прикрутить. Тут же бы налетели, а проект стал бы мегапопулярным. Возможно бы даже мелгомягкие заинтересовались.
     
     
  • 2.21, анонимуслинус (?), 01:07, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    да чета новые системы инициализации стали жрать значительно меньше всех остальных прог не порядок. без яваскрипта никак)) производители уперлись в планку "нужности " своих поделий))
     
     
  • 3.41, Crazy Alex (ok), 13:52, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    JS - это не только v8 всякие, но и duktape и прочая подобная мелочь. В принципе я тоже не понимаю повёрнутости гнушников на схеме. Трудночитаемая многословная штуковина.
     
     
  • 4.45, Michael Shigorin (ok), 14:22, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Трудночитаемая многословная штуковина.

    Ну трудночитаемая ещё куда ни шло, но лиспообразных упрекать во многословности -- это как-то странно.  Кое-кто мог бы Витю расспросить, наверное.

     
     
  • 5.61, Crazy Alex (ok), 19:53, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    индексы, например.
     
  • 5.84, Annoynymous (ok), 18:30, 23/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Лисповых можно упрекать в многоскобочности.
     
  • 2.24, Аноним (22), 01:38, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не взлетели бы. Скорее на опеннете анонимы полили бы говном за js, сказав очередное нинужно.
     
     
  • 3.26, Аноним (5), 02:34, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    опеннет то тут при чем? местные аналитики меня не интересуют
     
     
  • 4.34, Аноним (22), 08:31, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    При том, что ты и есть он.
     
  • 2.25, Аноним (-), 01:43, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не переживай, допилят до релиза и перепишут на rust с xml-конфигом.
     
     
  • 3.35, Аноним (4), 09:30, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если и перепишут, то не Расте. У Раста лицензия негнуугодная.
     
     
  • 4.39, user (??), 13:01, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И одна реализация, да и та с CoC.
     
     
  • 5.49, Аноним (49), 16:12, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > И одна реализация, да и та с CoC.

    И одна большая жопа, да и та у знатоков опеннета.
    https://github.com/thepowersgang/mrustc
    > Mutabah's Rust Compiler

    https://github.com/sapir/gcc-rust/tree/rust
    > Rust frontend for GCC

     
     
  • 6.63, Аноним (4), 21:03, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так погодите-ка, на Опеннет же как-то новость пробегала, что авторы Раста запрещают использовать имя "Rust" в альтернативных реализациях.
     
  • 3.85, Ordu (ok), 18:35, 23/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    С xml-конфигом на расте -- это вряд ли. Будет либо toml, либо json.
     
  • 2.67, Аноним (4), 21:13, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Нужно было вместо guile js прикрутить.

    Да чего уж там. Надо было сразу Electron прикрутить! Тут же бы хвостатые налетели со всех деревьев.

     

  • 1.20, Бэтман (?), 01:05, 22/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А на арче как-то можно заценить? Звучит-то заманчиво
     
  • 1.28, lockywolf (ok), 04:13, 22/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    SystemV с insserv+parstart поддерживает зависимости между сервисами.

    Хотя, в целом, я слышал много комплиментов shepherd, однако до сих пор обхожусь BSD-стилизованным SystemV

     
     
  • 2.30, Аноним (30), 05:29, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >однако до сих пор обхожусь BSD-стилизованным SystemV

    Это на слаке?

     
     
  • 3.32, lockywolf (ok), 07:47, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да, это на Слаке.

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

     

  • 1.29, Аноним (30), 05:29, 22/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Чем оно лучше s6?
     
  • 1.33, ryoken (ok), 08:24, 22/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Подскажите, с целью повышения уровня образованности. Где-то можно почитать сравнение с OpenRC? (В Gentoo привык уже к ней, да и вот в Диване Beowulf в инсталляторе есть вариант установить).
     
     
  • 2.36, Аноним (4), 09:35, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я Диван с OpenRC ставил. Но сетевые настройки, при этом, в Deuvan где-то не в привычном для Gentoo /etc/conf.d/net.
     
     
  • 3.37, ryoken (ok), 10:00, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Я Диван с OpenRC ставил. Но сетевые настройки, при этом, в Deuvan
    > где-то не в привычном для Gentoo /etc/conf.d/net.

    У меня установлен на одном редкоиспользуемом компе. Сеть там Демьяновскими методами настраивается, /etc/network/interfaces и К.

     
  • 3.55, Аноним (55), 17:46, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я поставил. Вроде бы особых проблем нет, кроме того, что в devuan openrc пока просто запускает скрипты написанные для sysv. Пакеты со своими preinst postinst ее особо не поддерживают. Вот и получается что, чтобы было как в gentoo/alpine нужно как минимум переписать нормально init-скрипты и добавить костыли, которые будут обеспечивать совместимость установки пакетов с sysv. Что касается /etc/network/interfaces, то он вобще пока ни к одной системе инициализации не привязан его ifupdown использует, а откуда вы ifupdown запускаете неважно, но фанаты системд уже кажется и это сломали или готовятся сломать.
     

  • 1.38, Аноним (38), 12:18, 22/04/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     

     ....ответы скрыты (5)

  • 1.53, Аноним (53), 17:33, 22/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот на что надо было Дебиану переходить.
     
     
  • 2.72, Аноним (72), 22:47, 22/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    нет уж, все правильно сделали
     
     
  • 3.78, Аноним (76), 04:00, 23/04/2020 [^] [^^] [^^^] [ответить]  
  • +/
    нет не правильно.
     

  • 1.59, Аноним (-), 18:26, 22/04/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Лиспу разные нужны, лиспы разные важны.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру