GNU Shepherd, сервіс-менеджер, розроблений Guix

Після двох років формування останньої великої версії, було оголошено, коли він опублікував запуск нова версія сервісного менеджера GNU Shepherd 0.9 (раніше відомий як dmd), який є розроблено розробниками дистрибутива GNU Guix як альтернатива ініціалізації SysV-init з урахуванням системних залежностей.

Пастух забезпечує функціональність простору користувача асинхронно як служби, які в Shepherd є загальними функціями та типами даних об’єктів, які експортуються для використання Shepherd для розширення базової операційної системи певним чином. На відміну від systemd, процес моніторингу простору користувача виконується від імені цього користувача.

Про Пастуха

В основі моделі Shepherd ініціалізації користувальницького простору лежить концепція розширення, форма компонування, в якій служби призначені для накладання інших служб, доповнюючи їх більш складною або спеціалізованою поведінкою за бажанням. Це виражає відносини залежності на основі створення екземплярів, які є в багатьох сучасних системах завантаження, які робить систему модульною, але також дозволяє службам різноманітно взаємодіяти один з одним послуги довільно.

Пастух також надає так звані віртуальні послуги які дозволяють динамічну диспетчеризацію класу пов’язаних об’єктів служби, наприклад тих, які створюють екземпляр агента передачі пошти (MTA) для системи.

Система, керована демоном Shepherd, може представляти свій користувальницький простір у вигляді орієнтованого ациклічного графа з «системною службою» (відповідальною за фази раннього завантаження та запуску) як root і всіма наступними ініціалізованими службами як розширеннями функціональності системної служби. , безпосередньо або транзитно над іншими службами.

Будучи написаним і налаштованим у схемі Guile, GNU Shepherd розроблено, щоб бути високопрограмованим системним адміністратором, але також може використовуватися для керування профілями користувача непривілейованих демонів і служб.

Ваші послуги та налаштування однаково зберігаються як код схеми об’єктно-орієнтований, і хоча основний набір послуг надається базовою системою Guix, нові довільні послуги можна гнучко оголошувати, а через об’єктну систему Guile, GOOPS, існуючі послуги можна перевизначати на розсуд користувача, попросивши Шеперда динамічно переписувати послуги в конкретні способи створення екземплярів.

Спочатку GNU Shepherd був розроблений для роботи з GNU Hurd і пізніше був прийнятий системою Guix.

Основні нові можливості GNU Shepherd 0.9

У цій новій версії, яка представлена, це підкреслюється реалізовано концепцію тимчасових послуг (перехідні), які автоматично відключаються після завершення через завершення процесу або виклик методу "stop", що може знадобитися для синтезованих служб, які не можуть бути перезапущені після завершення.

Ще одна зміна, яка виділяється, - це для служб без параметра ""#:log-file"., надається вихід в системний журнал а для служб з параметром «#:log-file» журнал записується в окремий файл із зазначенням часу журналів у непривілейованому процесі Shepherd, який зберігається в каталозі $XDG_DATA_DIR.

Крім того, варто зазначити, що процедура «make-inetd-constructor» була додана для створення служб, подібних до inetd, а процедура «make-systemd-constructor» була додана для створення служб, які активуються під час мережевої активності (стиль systemd socket активація).

З інших змін що виділяються з цієї нової версії:

  • Додано процедуру запуску фонової служби:
  • До процедури «make-forkexec-constructor» додано параметри «:supplementary-groups», «#:create-session» і «#:resource-limits».
  • Гарантована робота без блокування під час очікування файлів PID.
  • Вилучено підтримку компіляції з Guile 2.0. Виправлені проблеми під час використання Guile версій 3.0.5-3.0.7.
  • Тепер для роботи потрібна бібліотека Fibres 1.1.0 або новішої версії.
  • Покращена документація та приклади
  • Shepherd більше не можна створити за допомогою Guile 2.0
  • Виправлено помилку компілятора Guile 3.0.[5-7]
  • Оновлені переклади

В кінці кінців якщо вам цікаво дізнатись більше про це або ви хочете отримати цю нову версію, ви можете ознайомитися з деталями, документацією та завантажити з за наступним посиланням.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.