K dispozici je systém inicializace Finit 4.0

Po téměř třech letech vývoje byla zveřejněna verze systému inicializace Finit 4.0 (Fast init), vyvíjeného jako jednoduchá alternativa k SysV init a systemd. Projekt je založen na pracích vytvořených při reverzním inženýrství systému inicializace fastinit, používaného v linuxovém firmwaru netbooků EeePC a vyznačujícího se velmi rychlým procesem bootování. Systém je primárně zaměřen na zajištění spouštění kompaktních a vestavěných systémů, ale může být také použit pro běžné desktopové a serverové prostředí. Příklady scénářů pro implementaci byly připraveny pro Void Linux, Alpine Linux a Debian GNU/Linux. Kód projektu je napsán v jazyce C a je šířen pod licencí MIT.

Finit podporuje úrovně běhu (runlevel) ve stylu SysV init, sledování funkčnosti na pozadí (automatické restartování služby v případě selhání), provádění jednorázových zpracovatelů, spuštění služeb s ohledem na závislosti a libovolné podmínky, připojení dalších zpracovatelů pro spuštění před nebo po provedení služby. Například lze nastavit spuštění služby pouze po získání přístupu k síti nebo po spuštění jiné služby, jako je syslogd. Pro nastavení omezení se používají Cgroups v2.

Pro rozšíření funkcionality a přizpůsobení svým potřebám mohou být použity pluginy, pro které je k dispozici systém hooků, umožňující připojit zpracovatele na různé fáze spouštění a provádění služeb, a také zajistit vazbu na externí události. Například byly připraveny pluginy pro podporu D-Bus, ALSA, netlink, resolvconf, horké připojení zařízení, kontrolu dostupnosti a načítání modulů jádra, zpracování PID souborů a nastavení prostředí pro X-server.

Podporuje se použití standardních skriptů pro spouštění služeb, vytvořených pro SysV init (/etc/rc.d a /etc/init.d se nepoužívají, ale podpora /etc/inittab může být realizována prostřednictvím pluginu), jakož i skriptů rc.local, souborů s proměnnými prostředí a síťových nastavení /etc/network/interfaces, jak v Debianu a BusyBox. Nastavení mohou být určena v jednom konfiguračním souboru /etc/finit.conf nebo rozdělena do několika souborů v adresáři /etc/finit.d.

Správa se provádí prostřednictvím typového nástroje initctl a run-parts, který umožňuje aktivovat a deaktualizovat služby v závislosti na úrovních spuštění, a také selektivně spouštět část služeb. Součástí Finit je také vestavěná implementace getty (správa terminálu a přihlášení uživatelů), watchdog pro sledování funkčnosti a režim obnovení po havárii se zabudovaným sulogin pro spuštění izolovaného příkazového prostředí.

K dispozici je systém inicializace Finit 4.0

Mezi změnami přidanými v vydání Finit 4.0 (verze 3.2 byla vynechána z důvodu změn narušujících zpětnou kompatibilitu):

  • Samostatný nástroj reboot byl nahrazen symbolickým odkazem na initctl podobně jako nástroje halt, shutdown, poweroff a suspend.
  • Byla implementována indikace pokroku při provádění operací.
  • Byla změněna funkce příkazů „inictl cond set|clear COND“ pro vázání akcí na různé události. Pro identifikaci služeb je použit syntax <pid/foo:id> namísto vazby na cesty <svc/path/to/foo>.
  • Byla odstraněna vestavěná implementace serveru inetd, kterou lze v případě potřeby nahradit xinetd.
  • Byla přidána podpora cgroups v2 pro spuštění služeb v samostatných cgroup.
  • Byl přidán režim obnovení po havárii se svým suslogin.
  • Byla přidána podpora start/stop skriptů od SysV init.
  • Byly přidány zpracovatele pre:script a post:script, které umožňují specifikovat vlastní akce prováděné před nebo při spuštění služby.
  • Byla přidána podpora env:file s proměnnými prostředí.
  • Byla přidána možnost sledování libovolných PID souborů.
  • Byla přidána možnost spouštění úloh a služeb s použitím relativních cest.
  • Do initctl byla přidána možnost „-b“ pro provádění akcí v neinteraktivním režimu (batch mode).
  • Vestavěný watchdog byl nahrazen samostatnou verzí watchdogd.
  • Byl přidán plugin pro automatické načítání modulů jádra pro zařízení připojená během práce.
  • Byl přidán plugin pro zpracování /etc/modules-load.d/.
  • Byla přidána podpora automatického restartu služeb po změně nastavení, což umožňuje obejít ruční provádění příkazu „initctl reload“. Ve výchozím nastavení je vypnuto a vyžaduje přepracování s „./configure —enable-auto-reload“.
  • Byla přidána možnost vedení logu operací, které ovlivňují bezpečnost, jako je změna runlevelu, spouštění a zastavení služeb, havárie služeb.
  • Byla zlepšena podpora /etc/network/interfaces.

    Zdroj: opennet.ru
Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster