Utgivelse av service manager s6-rc 0.5.3.0 og initialiseringssystem s6-linux-init 1.0.7

En betydelig utgivelse av service manager s6-rc 0.5.3.0 er utarbeidet, designet for å administrere lanseringen av initialiseringsskript og tjenester, med hensyn til avhengigheter. s6-rc-verktøysettet kan brukes både i initialiseringssystemer og for å organisere lanseringen av vilkårlige tjenester i forbindelse med hendelser som reflekterer endringer i systemtilstanden. Gir full avhengighetstresporing og automatisk oppstart eller avslutning av tjenester for å nå en spesifisert tilstand. Koden er skrevet i C og distribueres under ISC-lisensen.

s6-rc service manager, som kan betraktes som en analog av sysv-rc eller OpenRC, inkluderer et sett med verktøy for å starte og stoppe langvarige prosesser (demoner) eller umiddelbart avsluttede initialiseringsskript. Under arbeidet tas det hensyn til avhengigheter mellom komponenter, det sikres parallell lansering av skript og tjenester som ikke skjærer hverandre, og sekvensen av skriptutførelsen vil garantert gjentas på tvers av ulike lanseringer. Alle tilstandsendringer behandles under hensyntagen til avhengigheter, og sørger for at avhengigheter ikke blir krenket (for eksempel når en tjeneste startes, vil avhengighetene som er nødvendige for driften av den startes automatisk, og når de stoppes, vil avhengige tjenester også bli stoppet).

I stedet for kjørenivåer tilbyr s6-rc et mer universelt konsept med bunter, som lar deg gruppere tjenester i henhold til vilkårlige egenskaper og oppgaver som skal løses. For å forbedre arbeidseffektiviteten brukes en kompilert avhengighetsdatabase, laget av s6-rc-compile-verktøyet basert på innholdet i kataloger med filer for å starte/stoppe tjenester. Verktøyene s6-rc-db og s6-rc-update tilbys for å analysere og manipulere databasen. Systemet støtter sysv-init-kompatible init-skript og kan importere avhengighetsinformasjon fra sysv-rc eller OpenRC.

Blant fordelene med s6-rc er en kompakt implementering som ikke inneholder noe overflødig bortsett fra komponenter for å løse direkte problemer, og bruker et minimum av ressurser. I motsetning til andre tjenesteledere, støtter s6-rc proaktiv (offline) konstruksjon av en avhengighetsgraf for et eksisterende sett med tjenester, som lar deg utføre ressurskrevende avhengighetsanalyse separat, og ikke under lasting eller tilstandsendringer. Samtidig er systemet ikke monolitisk og er delt inn i en serie separate og utskiftbare moduler, som hver, i samsvar med Unix-filosofien, løser kun en spesifikk oppgave.

I kombinasjon med s6-verktøy som overvåker driften av prosesser (analogt med daemontools og runit), lar verktøysettet deg samtidig overvåke driften av langvarige tjenester, for eksempel å starte dem på nytt i tilfelle unormale avslutninger, og sikre at en sekvens av kommandoer lanseres i en reproduserbar form, gjentatt på tvers av forskjellige oppstarter. Støttede funksjoner inkluderer aktivering av en tjeneste ved tilgang til en socket (lansering av en behandler ved tilgang til en nettverksport), logging av prosesshendelser (erstatter syslogd) og kontrollert tildeling av tilleggsprivilegier (analogt med sudo).

Samtidig er utgivelsen av pakken s6-linux-init 1.0.7.0 tilgjengelig, som tilbyr en implementering av init-prosessen for å bygge ferdige init-systemer for operativsystemer basert på Linux-kjernen, der s6 og s6 -rc-verktøy brukes til å administrere tjenester og initialiseringsskript. Samtidig er s6 og s6-rc ikke knyttet til s6-linux-init og kan om ønskelig brukes med alle initialiseringssystemer.

I tillegg gir prosjektet:

  • s6-nettverk er et sett med verktøy for å lage nettverkstjenester, som ligner på ucspi.
  • s6-frontend - et rammeverk for å gjenskape funksjonaliteten til daemontools og runit på toppen av s6.
  • s6-portable-utils er et sett med standard Unix-verktøy som cut, chmod, ls, sort og grep, optimert for minimalt ressursforbruk og levert under ISC-lisensen.
  • s6-linux-utils - Et sett med Linux-spesifikke verktøy som chroot, freeramdisk, logwatch, mount og swapon.
  • s6-dns er et sett med klientbiblioteker og verktøy som erstatter standard DNS-verktøy fra BIND og djbdns.

I den nye versjonen av s6-rc implementerer s6-rc-compile-verktøyet lesing av data om avhengigheter og sett med tjenester fra kataloger, i stedet for filer. Å bruke kataloger forenkler å legge til tjenester til databasen med informasjon om avhengigheter når du installerer programmer gjennom en pakkebehandling, siden det lar deg gjøre uten å gjøre endringer i filer. Støtte for det gamle filbaserte formatet har blitt beholdt for å sikre kompatibilitet. I den nye versjonen av s6-linux-init er "-S"-alternativet lagt til s6-linux-init-maker-verktøyet for synkronisering av data i containere.

Kilde: opennet.ru

Legg til en kommentar