Po takmer troch rokoch vývoja bol vydaný inicializačný systém Finit 4.0 (Fast init). Vyvíja sa ako jednoduchá alternatíva k SysV init a systemd. Projekt je založený na práci vytvorenej reverzným inžinierstvom inicializačného systému fastinit používaného v... Linux- firmvér pre netbooky EeePC a vyznačuje sa extrémne rýchlym procesom bootovania. Systém je primárne určený na bootovanie kompaktných a embedded systémov, ale možno ho použiť aj v štandardných desktopových a serverových prostrediach. Pre Void boli pripravené príklady implementačných scenárov. Linux, Alpský Linux и Debian GNU/LinuxKód projektu je napísaný v jazyku C a distribuovaný pod licenciou MIT.
Finit podporuje úrovne spustenia v štýle SysV init, monitorovanie stavu procesov na pozadí (automatické reštartovanie služby v prípade zlyhania), jednorazové spustenie obslužných programov, spustenie služby na základe závislostí a ľubovoľných podmienok a pripojenie ďalších obslužných programov, ktoré sa spustia pred alebo po spustení služby. Napríklad službu je možné nakonfigurovať tak, aby sa spustila až po nadviazaní prístupu k sieti alebo po spustení inej služby, napríklad syslogd. Na nastavenie obmedzení sa používajú skupiny Cgroups v2.
Pluginy možno použiť na rozšírenie funkčnosti a prispôsobenie systému. Pre tieto pluginy je k dispozícii systém hook, ktorý umožňuje pripojenie obslužných programov k rôznym fázam načítavania a vykonávania služieb, ako aj väzbu na externé udalosti. Napríklad boli vyvinuté pluginy pre D-Bus, ALSA, netlink, podporu resolvconf, hotplugging zariadení, dostupnosť a načítavanie modulov jadra, spracovanie súborov PID a konfiguráciu prostredia X servera.
Podporované je použitie štandardných skriptov na spúšťanie služieb vytvorených pre SysV init (súbory /etc/rc.d a /etc/init.d sa nepoužívajú, ale podpora pre /etc/inittab sa dá implementovať pomocou pluginu), ako aj skriptov rc.local, súborov s premennými prostredia a sieťovými nastaveniami /etc/network/interfaces, ako v Debian a BusyBox. Nastavenia je možné definovať v jednom konfiguračnom súbore /etc/finit.conf alebo ich rozdeliť do viacerých súborov v adresári /etc/finit.d.
Správa sa vykonáva prostredníctvom štandardných nástrojov initctl a run-parts, ktoré umožňujú aktivovať a deaktivovať služby na základe úrovní behu, ako aj selektívne spúšťať jednotlivé služby. Finit tiež obsahuje vstavanú implementáciu getty (pre správu terminálu a prihlásenia používateľov), watchdog pre monitorovanie stavu a režim obnovy po páde so vstavaným sulogin pre spustenie izolovaného príkazového shellu.

Medzi zmenami pridanými vo verzii Finit 4.0 (verzia 3.2 bola vynechaná kvôli prítomnosti spätne kompatibilných zmien):
- Samostatný nástroj na reštartovanie bol nahradený symbolickým odkazom na initctl, podobne ako nástroje halt, shutdown, poweroff a suspend.
- Bola implementovaná indikácia priebehu operácií.
- Príkazy „inictl cond set|clear COND“ boli upravené tak, aby umožňovali priradenie akcií rôznym udalostiam. Na identifikáciu služieb sa používa nová syntax. namiesto viazania sa na cesty .
- Vstavaná implementácia bola odstránená. server inetd, do ktorého je možné v prípade potreby nainštalovať xinetd.
- Pridaná podpora pre cgroups v2 pre spúšťanie služieb v samostatných cgroupoch.
- Pridaný režim obnovy po havárii s vlastným prihlásením.
- Pridaná podpora pre spúšťacie/zastavovacie skripty z init súboru SysV.
- Pridané obslužné rutiny pre:script a post:script, ktoré umožňujú zadať vlastné akcie, ktoré sa majú vykonať pred alebo po spustení služby.
- Pridaná podpora pre env:file s premennými prostredia.
- Pridaná možnosť sledovania ľubovoľných PID súborov.
- Pridaná možnosť spúšťať úlohy a služby pomocou relatívnych ciest.
- Do initctl bola pridaná možnosť „-b“, ktorá umožňuje vykonávať akcie v neinteraktívnom režime (dávkový režim).
- Vstavaný watchdog bol nahradený samostatnou verziou watchdogd.
- Pridaný plugin pre automatické načítavanie modulov jadra pre zariadenia pripojené počas prevádzky.
- Pridaný plugin na spracovanie súboru /etc/modules-load.d/.
- Pridaná podpora pre automatické reštartovanie služieb po zmene nastavení, čím sa eliminuje potreba manuálneho spustenia príkazu „initctl reload“. Táto funkcia je predvolene zakázaná a vyžaduje opätovné zostavenie pomocou príkazu „./configure --enable-auto-reload“.
- Pridaná možnosť zaznamenávať operácie, ktoré ovplyvňujú bezpečnosť, ako sú zmeny úrovne behu, spustenie a vypnutie služby a zlyhania služby.
- Vylepšená podpora pre /etc/network/interfaces.
Zdroj: opennet.ru
