Finit 4.0 initialiseringssystem tilgjengelig

Etter omtrent tre års utvikling ble utgivelsen av initialiseringssystemet Finit 4.0 (Fast init) publisert, utviklet som et enkelt alternativ til SysV init og systemd. Prosjektet er basert på utviklinger skapt av omvendt utvikling av fastinit-initialiseringssystemet som brukes i Linux-fastvaren til EeePC netbooks og kjent for sin svært raske oppstartsprosess. Systemet er først og fremst rettet mot å starte opp kompakte og innebygde systemer, men kan også brukes til konvensjonelle skrivebords- og servermiljøer. Eksempelimplementeringsskript er utarbeidet for Void Linux, Alpine Linux og Debian GNU/Linux. Prosjektkoden er skrevet i C og distribueres under MIT-lisensen.

Finit støtter kjøringsnivåer i SysV init-stilen, overvåker helsen til bakgrunnsprosesser (automatisk omstart av tjenesten i tilfelle feil), utfører engangsbehandlere, lanserer tjenester som tar hensyn til avhengigheter og vilkårlige forhold, legger ved ekstra behandlere som skal kjøres før eller etter tjenesteutførelse. Du kan for eksempel konfigurere en tjeneste til å starte bare etter at nettverkstilgang er tilgjengelig eller etter at en annen tjeneste, for eksempel syslogd, har startet. Cgroups v2 brukes til å sette begrensninger.

For å utvide funksjonaliteten og tilpasse seg dine behov, kan plugins brukes, for hvilke et system med kroker er gitt som lar deg knytte en behandler til ulike stadier av lasting og utførelse av tjenester, samt gi binding til eksterne hendelser. For eksempel er det utarbeidet plugins for å støtte D-Bus, ALSA, netlink, resolvconf, hot plugging av enheter, sjekke tilgjengeligheten og lasting av kjernemoduler, behandle PID-filer og sette opp miljøet for X-serveren.

Bruk av standard skript for å starte tjenester opprettet for SysV init støttes (/etc/rc.d og /etc/init.d brukes ikke, men støtte for /etc/inittab kan implementeres gjennom plugin), samt rc.local-skript, filer med miljø- og nettverksinnstillingsvariabler /etc/network/interfaces, som i Debian og BusyBox. Innstillinger kan enten defineres i én konfigurasjonsfil /etc/finit.conf, eller distribueres over flere filer i /etc/finit.d-katalogen.

Styring utføres gjennom standardverktøyene initctl og run-parts, som lar deg aktivere og deaktivere tjenester i forhold til kjørenivåer, samt selektivt lansere noen tjenester. Finit inkluderer også en innebygd getty-implementering (administrasjon av terminal og brukerpålogging), en vakthund for helseovervåking og en krasjgjenopprettingsmodus med innebygd sulogin for å kjøre et isolert kommandoskall.

Finit 4.0 initialiseringssystem tilgjengelig

Blant endringene som ble lagt til i Finit 4.0-utgivelsen (versjon 3.2 ble hoppet over på grunn av endringer som brøt bakoverkompatibiliteten):

  • Det separate reboot-verktøyet har blitt erstattet med en symbolsk lenke til initctl, som ligner på stopp, shutdown, poweroff og suspend-verktøy.
  • Indikasjon på fremdriften i driften er implementert.
  • Operasjonen til "inictl cond set|clear COND"-kommandoene har blitt endret for å binde handlinger til ulike hendelser. Syntaksen som brukes til å identifisere tjenester er i stedet for å binde seg til stier .
  • Den innebygde implementeringen av inetd-serveren er fjernet, hvor xinetd kan installeres om nødvendig.
  • Lagt til støtte for cgroups v2 for å kjøre tjenester i separate cgroups.
  • Lagt til krasjgjenopprettingsmodus med egen suslogin.
  • Lagt til støtte for start/stopp-skript fra SysV init.
  • Lagt til pre:script og post:script behandlere som lar deg spesifisere handlingene dine utført før eller når tjenesten starter.
  • Lagt til støtte for env:fil med miljøvariabler.
  • Lagt til muligheten til å spore vilkårlige PID-filer.
  • Lagt til muligheten til å starte oppgaver og tjenester ved hjelp av relative baner.
  • Lagt til "-b" alternativ for å initctl å utføre handlinger i ikke-interaktiv modus (batch-modus).
  • Den innebygde watchdog er erstattet med en egen versjon av watchdogd.
  • Lagt til en plugin for automatisk å laste inn kjernemoduler for enheter tilkoblet under drift.
  • La til plugin for å håndtere /etc/modules-load.d/.
  • Lagt til støtte for automatisk omstart av tjenester etter endring av innstillinger, slik at du kan gjøre uten å manuelt utføre kommandoen "initctl reload". Deaktivert som standard og krever ombygging med "./configure --enable-auto-reload".
  • Lagt til muligheten til å logge operasjoner som påvirker sikkerheten, for eksempel endring av kjørenivå, start og stopp av tjenester og tjenestefeil.
  • Forbedret støtte for /etc/network/interfaces.

    Kilde: opennet.ru

Legg til en kommentar