K dispozici je inicializační systém Finit 4.0

Po zhruba třech letech vývoje bylo zveřejněno vydání inicializačního systému Finit 4.0 (Fast init), vyvinutý jako jednoduchá alternativa k SysV init a systemd. Projekt je založen na vývoji vytvořeném reverzním inženýrstvím inicializačního systému fastinit používaného v linuxovém firmwaru netbooků EeePC, který se vyznačuje velmi rychlým bootovacím procesem. Systém je primárně zaměřen na zavádění kompaktních a vestavěných systémů, ale lze jej použít také pro konvenční desktopová a serverová prostředí. Ukázkové implementační skripty byly připraveny pro Void Linux, Alpine Linux a Debian GNU/Linux. Kód projektu je napsán v jazyce C a je distribuován pod licencí MIT.

Finit podporuje runlevels ve stylu SysV init, sledování stavu procesů na pozadí (automatické restartování služby v případě selhání), spouštění jednorázových obslužných rutin, spouštění služeb s přihlédnutím k závislostem a libovolným podmínkám, připojení dalších obslužných rutin pro spuštění před nebo po provedení služby. Můžete například nakonfigurovat službu tak, aby se spouštěla ​​až poté, co je k dispozici přístup k síti nebo po spuštění nějaké jiné služby, jako je syslogd. Cgroups v2 se používá k nastavení omezení.

Pro rozšíření funkčnosti a přizpůsobení vašim potřebám lze použít pluginy, pro které je k dispozici systém háků, který umožňuje připojit handler k různým fázím načítání a spouštění služeb a také poskytovat vazbu na externí události. Například byly připraveny pluginy pro podporu D-Bus, ALSA, netlink, resolvconf, hot plugging zařízení, kontrolu dostupnosti a načítání modulů jádra, zpracování PID souborů a nastavení prostředí pro X server.

Je podporováno 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 podporu pro /etc/inittab lze implementovat prostřednictvím pluginu), stejně jako rc.local skripty, soubory s proměnnými nastavení prostředí a sítě /etc/network/interfaces, jako v Debianu a BusyBoxu. Nastavení lze definovat buď v jednom konfiguračním souboru /etc/finit.conf, nebo distribuovat do několika souborů v adresáři /etc/finit.d.

Správa se provádí pomocí standardních nástrojů initctl a run-parts, které umožňují aktivovat a deaktivovat služby ve vztahu k úrovním běhu a také selektivně spouštět některé služby. Finit také obsahuje vestavěnou implementaci getty (správa přihlášení terminálů a uživatelů), hlídacího psa pro sledování zdraví a režim zotavení po havárii s vestavěným sulogin pro spuštění izolovaného příkazového shellu.

K dispozici je inicializační systém Finit 4.0

Mezi změny přidané ve verzi Finit 4.0 (verze 3.2 byla přeskočena kvůli změnám, které narušily zpětnou kompatibilitu):

  • Samostatná utilita pro restartování byla nahrazena symbolickým odkazem na initctl, podobný utilitám zastavení, vypnutí, vypnutí a pozastavení.
  • Indikace postupu operací byla provedena.
  • Operace příkazů „inictl cond set|clear COND“ byla změněna tak, aby se akce vázaly na různé události. Syntaxe používaná k identifikaci služeb je místo vazby na cesty .
  • Vestavěná implementace serveru inetd byla odstraněna, kam lze v případě potřeby nainstalovat xinetd.
  • Přidána podpora pro cgroups v2 pro spouštění služeb v samostatných cgroups.
  • Přidán režim zotavení po havárii s vlastním susloginem.
  • Přidána podpora pro start/stop skripty ze SysV init.
  • Přidány obslužné nástroje pre:script a post:script, které vám umožňují specifikovat vaše akce provedené před nebo při spuštění služby.
  • Přidána podpora pro env:file s proměnnými prostředí.
  • Přidána možnost sledovat libovolné soubory PID.
  • Přidána možnost spouštět úlohy a služby pomocí relativních cest.
  • Přidána možnost "-b" do initctl pro provádění akcí v neinteraktivním režimu (dávkový režim).
  • Vestavěný watchdog byl nahrazen samostatnou verzí watchdogd.
  • Přidán plugin pro automatické načítání modulů jádra pro zařízení připojená během provozu.
  • Přidán plugin pro zpracování /etc/modules-load.d/.
  • Přidána podpora pro automatické restartování služeb po změně nastavení, což vám umožňuje obejít se bez ručního provádění příkazu „initctl reload“. Ve výchozím nastavení zakázáno a vyžaduje opětovné sestavení pomocí "./configure --enable-auto-reload".
  • Přidána možnost protokolovat operace, které ovlivňují zabezpečení, jako je změna úrovně běhu, spouštění a zastavování služeb a selhání služeb.
  • Vylepšená podpora pro /etc/network/interfaces.

    Zdroj: opennet.ru

Přidat komentář