Издание на мениджъра на услуги s6-rc 0.5.3.0 и системата за инициализация s6-linux-init 1.0.7

Подготвен е значителен релиз на мениджъра на услуги s6-rc 0.5.3.0, предназначен за управление на стартирането на инициализационни скриптове и услуги, вземайки предвид зависимостите. Инструментариумът s6-rc може да се използва както в системи за инициализация, така и за организиране на стартиране на произволни услуги, свързани с събития, които отразяват промените в състоянието на системата. Предоставя се пълно проследяване на дървото на зависимостите и автоматично стартиране или спиране на услугите, за да се постигне указаното състояние. Кодът е написан на C и се разпространява под лиценз ISC.

Мениджърът на услуги s6-rc, който може да се разглежда като аналог на sysv-rc или OpenRC, включва набор от инструменти за стартиране и спиране на дълготрайни процеси (демони) или мигновено завършващи инициализационни скриптове. В процеса на работа се взимат предвид зависимостите между компонентите, осигурява се паралелно стартиране на несъвпадащи помежду си скриптове и услуги, и се гарантира повтаряща се при различни стартирания последователност на изпълнение на скриптовете. Всички промени в състоянието се обработват в съответствие с зависимостите, следейки за това зависимостите да не бъдат нарушавани (например, при стартиране на някаква услуга, необходимите за нейното функциониране зависимости ще бъдат автоматично стартирани, а при спиране — спирани ще бъдат и зависимите услуги).

Вместо стартови нива (runlevel) в s6-rc се предлага по-универсална концепция за набори (bundles), която позволява групиране на услуги по произволни признаци и решавани задачи. За повишаване на ефективността на работата се използва скомпилирана база от зависимости, създавана от инструмента s6-rc-compile на база съдържанието на директории с файлове за стартиране/спиране на услуги. За анализ и манипулации с БД се предлагат инструментите s6-rc-db и s6-rc-update. Системата поддържа инициализационни скриптове, съвместими с sysv-init, и може да внася информация за зависимости от sysv-rc или OpenRC.

Сред предимствата на s6-rc е компактната реализация, която не съдържа нищо излишно, освен компоненти за решаване на конкретни задачи, и която консумира минимални ресурси. За разлика от другите мениджъри на услуги, s6-rc поддържа проактивно (в режим офлайн) създаване на графа на зависимостите за наличния набор от услуги, което позволява ресурсоемък анализ на зависимостите да се извърши поотделно, а не по време на зареждане или промяна на състоянието. В същото време системата не е монолитна и е разделена на серия от отделни и заменяеми модули, като всеки от тях, в съответствие с философията на Unix, решава само определена задача.

В комбинация с инструментите s6, които следят работата на процесите (аналог на daemontools и runit), инструментариумът позволява едновременно контролиране на работата на дългосрочни услуги, например, чрез повторно стартиране на тях при аварийни завършвания, и осигурява изпълнението на последователност от команды в възпроизводима форма, която се повтаря при различни стартирания. Поддържат се включително и възможности като активиране на услугата при достъп до сокет (стартиране на обработчик при достъп до мрежов порт), запис на събития от процеса (замяна на syslogd) и контролирано предоставяне на допълнителни привилегии (аналог на sudo).

Също така е наличен пакет s6-linux-init 1.0.7.0, предлагащ реализация на init-процес за изграждане на готови системи за инициализация за операционни системи, базирани на ядрото на Linux, в които за управление на услугите и скриптовете за инициализация се използват инструментите s6 и s6-rc. Важно е да се отбележи, че s6 и s6-rc не са свързани с s6-linux-init и при желание могат да се използват с всякакви системи за инициализация.

Освен това, проектът предлага:

  • s6-networking — набор от утилити за създаване на мрежови услуги, подобен на ucspi.
  • s6-frontend — обвивка за възстановяване на функционалността на daemontools и runit над s6.
  • s6-portable-utils — набор стандартни Unix-утилити, като cut, chmod, ls, sort и grep, оптимизирани за минимално потребление на ресурси и предлагани под лицензия ISC.
  • s6-linux-utils — набор от утилити, свързани с Linux, като chroot, freeramdisk, logwatch, mount и swapon.
  • s6-dns — набор от клиентски библиотеки и утилити, заменящи стандартните DNS-утилити от BIND и djbdns.

В новата версия на s6-rc, в утилитата s6-rc-compile, е реализирано четене на данни за зависимостите и наборите от услуги от каталози, вместо от файлове. Използването на каталози улеснява добавянето на услуги в базата данни с информация за зависимостите при инсталиране на програми чрез пакетния мениджър, тъй като позволява да се избегне правенето на промени във файловете. Поддържането на стария формат, основан на файлове, е запазено за обеспечения на съвместимост. В новата версия на s6-linux-init, в утилитата s6-linux-init-maker, е добавена опция „-S“ за синхронизиране на данните в контейнерите.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster