إطلاق نظام GNU Shepherd 0.9.2 init

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

يقوم Shepherd بعمل بدء وإيقاف الخدمات من خلال مراعاة العلاقات بين الخدمات، وتحديد وبدء تشغيل الخدمات التي تعتمد عليها الخدمة المحددة بشكل ديناميكي. يدعم Shepherd أيضًا اكتشاف التعارضات بين الخدمات ومنعها من العمل بشكل متزامن. يمكن استخدام المشروع كنظام التهيئة الرئيسي (init مع PID 1)، وفي نموذج منفصل لإدارة العمليات الخلفية للمستخدمين الفرديين (على سبيل المثال، تشغيل tor وprivoxy وmcron وما إلى ذلك) مع التنفيذ مع الحقوق. من هؤلاء المستخدمين.

من بين التغييرات:

  • Используемые в Shepherd файловые дескрипторы теперь помечаются флагом O_CLOEXEC (close-on-exec), а не закрываются сразу при выполнении «exec-command», что позволяет передавать дескрипторы сервисам, запущенным не напрямую, а при помощи «exec-command».
  • Клиентские соединения теперь обрабатываются в неблокирующем режиме, что позволяет исключить зависание shepherd при отправке неполной команды.
  • Обеспечено создание каталога для лог-файлов, определённых в настройке «log-file», в случае его отсутствия.

المصدر: opennet.ru

إضافة تعليق