Сервісний менеджер s6-rc 0.5.6.0 – новий рівень управління сервісами
Представлений сервісний менеджер s6-rc 0.5.6.0 для управління запуском скриптів ініціалізації та сервісів
Представлений випуск сервісного менеджера s6-rc 0.5.6.0, призначеного для управління запуском скриптів ініціалізації та сервісів. Менеджер підтримує відстеження дерева залежностей та автоматичний запуск або завершення сервісів для досягнення вказаного стану. Цей інструментарій може застосовуватися як у системах ініціалізації, так і для організації запуску довільних сервісів у прив’язці до подій.
Основні можливості s6-rc та особливості роботи
Система підтримує скрипти ініціалізації, сумісні з sysv-init, і може імпортувати інформацію про залежності з sysv-rc або OpenRC. Код написаний мовою Сі та поширюється під ліцензією ISC.
Сервісний менеджер s6-rc включає набір утиліт для запуску та зупинки тривало функціонуючих процесів (демонів) або скриптів ініціалізації. У процесі роботи забезпечується паралельний запуск сервісів, що не перетинаються між собою.
Усі зміни стану обробляються з урахуванням залежностей. Наприклад, при запуску якогось сервісу будуть автоматично запущені необхідні для його роботи залежності, а при зупинці — зупинені і залежні сервіси.
Відмінності та переваги s6-rc
На відміну від інших сервісних менеджерів, s6-rc підтримує упереджаючу побудову графа залежностей для наявного набору сервісів. Це дозволяє виконати ресурсомісткий аналіз залежностей окремо, а не під час завантаження.
Система не є монолітною. Вона розбита на серію окремих і замінюваних модулів, кожен з яких відповідно до філософії Unix вирішує тільки певне завдання. Проєкт s6-rc дотримується філософії мінімалізму та споживає мінімум ресурсів.
Замість рівнів запуску (runlevel) в s6-rc пропонується концепція наборів (bundles). Вона дозволяє групувати сервіси за довільними ознаками та вирішуваними завданнями. Для підвищення ефективності роботи використовується скомпільована БД залежностей, створювана утилітою s6-rc-compile.
Супутні пакети, що доповнюють s6-rc
Одночасно сформовані нові версії супутніх пакетів, що доповнюють s6-rc:
- s6 2.13.2.0 – утиліти для відстеження роботи процесів та управління процесами. Підтримуються такі можливості як перезапуск процесів після їх аварійного завершення та запуск обробника при зверненні до мережевого порту.
- s6-linux-init 1.1.3.0 – реалізація init-процесу для операційних систем на базі ядра Linux. Застосовується для створення систем ініціалізації з використанням пакетів s6 і s6-rc.
- s6-networking 2.7.1.0 – набір утиліт для створення мережевих сервісів, схожий на ucspi.
- s6-frontend – обв’язка для відтворення функціональності daemontools і runit поверх s6.
- s6-portable-utils 2.3.1.0 – набір типових Unix-утиліт, таких як cut, chmod, ls, sort і grep, оптимізованих для споживання мінімальних ресурсів.
- s6-linux-utils 2.6.3.0 – набір утиліт, прив’язаних до Linux, таких як chroot, freeramdisk, logwatch, mount і swapon.
- mdevd 0.1.7.0 – менеджер подій, призначений для обробки гарячого підключення пристроїв.
- bcnm 0.0.2.0 – мережевий конфігуратор з можливостями для налаштування Wi-Fi на стороні клієнта.
- execline 2.9.7.0 – мова написання сценаріїв.
- skalibs 2.14.4.0 – бібліотека для створення безпечних системних додатків мовою Сі.
- s6-dns 2.4.1.0 – набір клієнтських бібліотек та утиліт, що замінюють типові DNS-утиліти з BIND і djbdns.
- dnsfunnel 0.0.3.0
- shibari 0.0.2.0 – простий DNS-сервер.
- tipidee 0.0.6.0 – HTTP-сервер з підтримкою HTTP/1.1.
Новації у випущених версіях пакетів
У нових версіях у всі пакети додана підтримка pkg-config. У бібліотеці skalibs реалізовані варіанти функцій введення/виведення, час роботи яких можна обмежити таймаутом.
У mdevd додана опція “-I” для задання імені групи netlink для прийому запитів. Розмір буфера за замовчуванням збільшено до 1 МБ.
У tipideed забезпечена можливість потокової трансляції виведення CGI-скриптів. Також додана підтримка методів PUT, DELETE і PATCH та реалізована директива autochunk для chunked-кодування даних, що передаються.
Більше інформації можна знайти на офіційному сайті s6-rc та в офіційному оголошенні про випуск.