Finit 4.0 initieringssystem tillgängligt

Efter cirka tre års utveckling publicerades releasen av initieringssystemet Finit 4.0 (Fast init), utvecklat som ett enkelt alternativ till SysV init och systemd. Projektet är baserat på utvecklingar som skapats genom omvänd konstruktion av fastinit-initieringssystemet som används i Linux-firmwaren på EeePC-netbooks och är känd för sin mycket snabba startprocess. Systemet är främst inriktat på att starta upp kompakta och inbyggda system, men kan även användas för konventionella skrivbords- och servermiljöer. Exempel på implementeringsskript har förberetts för Void Linux, Alpine Linux och Debian GNU/Linux. Projektkoden är skriven i C och distribueras under MIT-licensen.

Finit stöder körnivåer i SysV init-stilen, övervakar tillståndet för bakgrundsprocesser (automatisk omstart av tjänsten vid misslyckande), exekvering av engångshanterare, lansering av tjänster med hänsyn till beroenden och godtyckliga förhållanden, bifogar ytterligare hanterare som ska köras före eller efter tjänstens utförande. Du kan till exempel konfigurera en tjänst att starta först efter att nätverksåtkomst är tillgänglig eller efter att någon annan tjänst, som syslogd, har startat. Cgroups v2 används för att ställa in begränsningar.

För att utöka funktionaliteten och anpassa efter dina behov kan plugins användas, för vilka ett system med krokar tillhandahålls som gör att du kan koppla en hanterare till olika stadier av laddning och exekvering av tjänster, samt ge bindning till externa händelser. Till exempel har plugins förberetts för att stödja D-Bus, ALSA, netlink, resolvconf, hot plugging av enheter, kontrollera tillgängligheten och laddningen av kärnmoduler, bearbeta PID-filer och ställa in miljön för X-servern.

Användningen av standardskript för att lansera tjänster skapade för SysV init stöds (/etc/rc.d och /etc/init.d används inte, men stöd för /etc/inittab kan implementeras via plugin), liksom rc.local-skript, filer med miljö- och nätverksinställningsvariabler /etc/network/interfaces, som i Debian och BusyBox. Inställningar kan antingen definieras i en konfigurationsfil /etc/finit.conf, eller distribueras över flera filer i katalogen /etc/finit.d.

Hanteringen utförs genom standardverktygen initctl och run-parts, som låter dig aktivera och avaktivera tjänster i förhållande till körnivåer, samt selektivt lansera vissa tjänster. Finit inkluderar också en inbyggd getty-implementering (terminal- och användarinloggningshantering), en övervakningshund för hälsoövervakning och ett kraschåterställningsläge med inbyggt sulogin för att köra ett isolerat kommandoskal.

Finit 4.0 initieringssystem tillgängligt

Bland ändringarna som lades till i Finit 4.0-versionen (version 3.2 hoppades över på grund av ändringar som bröt bakåtkompatibiliteten):

  • Det separata omstartsverktyget har ersatts med en symbolisk länk till initctl, liknande verktygen för stopp, avstängning, avstängning och avstängning.
  • Indikation på hur verksamheten fortskrider har implementerats.
  • Funktionen för "inictl cond set|clear COND"-kommandona har ändrats för att binda åtgärder till olika händelser. För att identifiera tjänster används syntaxen istället för att binda till sökvägarna .
  • Den inbyggda implementeringen av inetd-servern har tagits bort, där xinetd kan installeras vid behov.
  • Lade till stöd för cgroups v2 för att köra tjänster i separata cgroups.
  • Lade till kraschåterställningsläge med egen suslogin.
  • Lagt till stöd för start/stopp-skript från SysV init.
  • Lade till pre:script- och post:script-hanterare som låter dig specificera dina åtgärder som utförs innan eller när tjänsten startar.
  • Lade till stöd för env:file med miljövariabler.
  • Lade till möjligheten att spåra godtyckliga PID-filer.
  • Lade till möjligheten att starta uppgifter och tjänster med hjälp av relativa sökvägar.
  • Lade till alternativet "-b" för att initctl utföra åtgärder i icke-interaktivt läge (batchläge).
  • Den inbyggda watchdog har ersatts med en separat version av watchdogd.
  • Lade till ett plugin för att automatiskt ladda kärnmoduler för enheter anslutna under drift.
  • Lade till plugin för att hantera /etc/modules-load.d/.
  • Lade till stöd för att automatiskt starta om tjänster efter att ha ändrat inställningar, vilket gör att du kan göra utan att manuellt utföra kommandot "initctl reload". Inaktiverad som standard och kräver ombyggnad med "./configure --enable-auto-reload".
  • Lade till möjligheten att logga operationer som påverkar säkerheten, som att ändra körnivå, starta och stoppa tjänster och tjänstefel.
  • Förbättrat stöd för /etc/network/interfaces.

    Källa: opennet.ru

Lägg en kommentar