Достъпна е система за инициализация Finit 4.0

След като беше разработвана около три години, е публикувана версия 4.0 на системата за инициализация Finit (Fast init), която се разработва като проста алтернатива на SysV init и systemd. Проектът е основан на наученото от обратното инжиниринг на системата за инициализация fastinit, използвана в Linux-фърмуера на нетбуците EeePC и известна с изключително бързия си процес на стартиране. Системата е преди всичко насочена към осигуряване на стартиране на компактни и вградени системи, но може да се използва и в обикновени настолни и сървърни среди. Подготвени са примери за внедряване за Void Linux, Alpine Linux и Debian GNU/Linux. Кодът на проекта е написан на C и се разпространява под MIT лиценз.

Finit поддържа нива на изпълнение в стил SysV init, следи за работоспособността на фоновите процеси (автоматично рестартиране на услугата при срив), изпълнява еднократни обработчици, стартира услуги с оглед на зависимостите и произволни условия, прикрепя допълнителни обработчици за стартиране преди или след изпълнението на услугата. Например, може да се настрои стартиране на услугата единствено след появата на достъп до мрежата или след стартиране на друга услуга, като syslogd. За задания ограничения се използват Cgroups v2.

За разширяване на функционалността и адаптиране към собствените нужди могат да се използват плъгини, за които е предоставена система от hook-ове, позволяваща прикрепване на обработчик към различни етапи на стартиране и изпълнение на услугите, както и осигуряване на свързаност с външни събития. Например, са подготвени плъгини за поддръжка на D-Bus, ALSA, netlink, resolvconf, горещо свързване на устройства, проверка на наличността и зареждане на ядрени модули, обработка на PID-файлове и настройка на окруженията за X-сървера.

Поддържа се използването на стандартни скриптове за стартиране на услуги, създадени за SysV init (/etc/rc.d и /etc/init.d не се използват, но поддръжката на /etc/inittab може да се реализира чрез плъгин), както и скриптове rc.local, файлове с променливи на средата и настройки на мрежата /etc/network/interfaces, както в Debian и BusyBox. Настройките могат да се определят в един конфигурационен файл /etc/finit.conf или да бъдат разпределени в няколко файла в директорията /etc/finit.d.

Управлението се осъществява чрез стандартния инструментариум initctl и run-parts, което позволява активиране и деактивиране на услуги в зависимост от нивата на стартиране, както и селективно стартиране на част от услугите. Вградената реализация на getty (управление на терминала и вход на потребители), watchdog за наблюдение на работоспособността и режим на възстановяване след срив, с вграден sulogin за стартиране на изолирана командна обвивка също са включени в Finit.

Достъпна е система за инициализация Finit 4.0

Сред промените, добавени в версия Finit 4.0 (версия 3.2 беше пропусната поради наличието на промени, нарушаващи обратната съвместимост):

  • Отделната утилита reboot е заменена с символична връзка към initctl аналогично на утилитите halt, shutdown, poweroff и suspend.
  • Реализирана е индикация за напредъка при изпълнение на операциите.
  • Променено е работата на командите «initctl cond set|clear COND» за свързване на действия с различни събития. За идентифициране на услугите е използван синтаксисът вместо свързване към пътища .
  • Премахната е вградената реализация сървър inetd, като за нуждите му може да се установи xinetd.
  • Добавена е поддръжка на cgroups v2 за стартиране на услуги в отделни cgroup.
  • Добавен е режим на възстановяване след срив със собствен suslogin.
  • Добавена е поддръжка за стартиране/спиране на скриптове от SysV init.
  • Добавени са обработчици pre:script и post:script, които позволяват указване на собствени действия, изпълнявани преди или по време на стартиране на услугата.
  • Добавена е поддръжка env:file с променливи на средата.
  • Добавена е функция за наблюдение на произволни PID файлове.
  • Добавена е възможността за стартиране на задачи и услуги с относителни пътища.
  • В initctl е добавена опцията «-b» за изпълнение на действия в неинтерактивен режим (batch mode).
  • Вграден watchdog е заменен с отделен вариант watchdogd.
  • Добавен е плъгин за автоматично зареждане на модули на ядрото за устройства, свързани по време на работа.
  • Добавен е плъгин за обработка на /etc/modules-load.d/.
  • Добавена е поддръжка за автоматично повторно стартиране на услуги след изменение на настройки, което позволява да се избегне ръчното изпълнение на командата «initctl reload». По подразбиране е деактивирано и изисква пренастройка с «./configure --enable-auto-reload».
  • Добавена е възможност за водене на лог на операциите, влияещи на сигурността, като промени в runlevel, стартиране и спиране на услуги, срив на услуги.
  • Поддръжката на /etc/network/interfaces е подобрена.

    Източник: opennet.ru
Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster