מעלדונג פון GNU Shepherd 0.9 יניט סיסטעם

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

פּאַסטעך טוט די אַרבעט פון אָנהייב און סטאָפּפּינג סערוויסעס דורך גענומען אין חשבון די באציונגען צווישן סערוויסעס, דינאַמיקאַללי ידענטיפיצירן און אָנהייב די סערוויסעס אויף וואָס די אויסגעקליבן דינסט דעפּענדס. פּאַסטעך אויך שטיצט דיטעקטינג קאָנפליקט צווישן סערוויסעס און פּרעווענטינג זיי צו לויפן קאַנקעראַנטלי. די פּרויעקט קענען זיין געוויינט ווי די הויפּט יניטיאַליזאַטיאָן סיסטעם (יניט מיט PID 1), און אין אַ באַזונדער פאָרעם צו פירן הינטערגרונט פּראַסעסאַז פון יחיד יוזערז (למשל צו לויפן טאָר, פּריוואָקסי, מקרון, אאז"ו ו) מיט דורכפירונג מיט די רעכט. פון די ניצערס.

הויפּט חידושים:

  • Реализована концепция временных сервисов (transient), автоматически отключаемых после завершения из-за прекращения работы процесса или вызова метода «stop», что может потребоваться для синтезируемых сервисов, которые не могут быть перезапущены после завершения работы.
  • Для создания inetd-подобных сервисов добавлена процедура «make-inetd-constructor».
  • Для создания сервисов, активируемых при сетевой активности (в стиле systemd socket activation), добавлена процедура «make-systemd-constructor».
  • Добавлена процедура для запуска сервиса в фоновом режиме — «start-in-the-background».
  • В процедуру «make-forkexec-constructor» добавлены параметры «:supplementary-groups», «#:create-session» и «#:resource-limits».
  • Обеспечена работа без блокировки во время ожидания PID-файлов.
  • Для сервисов без параметра «#:log-file» обеспечен вывод в syslog, а для сервисов с параметром #:log-file» — запись лога в отдельный файл с указанием времени записей. Логи от непривилегированного процесса shepherd сохраняются в каталоге $XDG_DATA_DIR.
  • Прекращена поддержка сборки с Guile 2.0. Решены проблемы при использовании версий Guile 3.0.5-3.0.7.
  • Для работы теперь требуется библиотека Fibers 1.1.0 или более новая версия.

מקור: opennet.ru

לייגן אַ באַמערקונג