GNU Shepherd 0.9 init प्रणालीको रिलीज

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

शेफर्डले सेवाहरू बीचको सम्बन्धलाई ध्यानमा राखेर सेवाहरू सुरु गर्ने र रोक्ने काम गर्दछ, गतिशील रूपमा पहिचान गरी सेवाहरू सुरु गर्ने जसमा चयन गरिएको सेवा निर्भर हुन्छ। शेफर्डले सेवाहरू बीचको विवाद पत्ता लगाउन र तिनीहरूलाई एकैसाथ चल्नबाट रोक्न पनि समर्थन गर्दछ। परियोजनालाई मुख्य प्रारम्भिक प्रणाली (PID 1 सँग init) को रूपमा प्रयोग गर्न सकिन्छ, र व्यक्तिगत प्रयोगकर्ताहरूको पृष्ठभूमि प्रक्रियाहरू (उदाहरणका लागि, tor, privoxy, mcron, आदि) लाई अधिकारहरूसँग कार्यान्वयन गर्न व्यवस्थापन गर्नको लागि छुट्टै फारममा प्रयोग गर्न सकिन्छ। यी प्रयोगकर्ताहरूको।

मुख्य आविष्कारहरू:

  • Реализована концепция временных сервисов (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

एक टिप्पणी थप्न