Release av servicehanteraren s6-rc 0.5.3.0 och initieringssystemet s6-linux-init 1.0.7

En betydande version av Service Manager s6-rc 0.5.3.0 har förberetts, utformad för att hantera lanseringen av initieringsskript och tjänster, med hänsyn till beroenden. s6-rc toolkit kan användas både i initieringssystem och för att organisera lanseringen av godtyckliga tjänster i samband med händelser som återspeglar förändringar i systemtillståndet. Ger spårning av fullständigt beroendeträd och automatisk start eller avstängning av tjänster för att nå ett specificerat tillstånd. Koden är skriven i C och distribueras under ISC-licensen.

s6-rc-tjänsthanteraren, som kan betraktas som en analog av sysv-rc eller OpenRC, inkluderar en uppsättning verktyg för att starta och stoppa långa processer (demoner) eller omedelbart avslutade initialiseringsskript. Under arbetets gång beaktas beroenden mellan komponenter, parallell lansering av skript och tjänster som inte korsar varandra säkerställs och sekvensen av skriptexekveringen kommer garanterat att upprepas över olika lanseringar. Alla tillståndsändringar bearbetas med hänsyn till beroenden, vilket säkerställer att beroenden inte kränks (till exempel när en tjänst startas kommer de beroenden som är nödvändiga för dess drift att startas automatiskt, och när de stoppas kommer även beroende tjänster att stoppas).

Istället för körnivåer erbjuder s6-rc ett mer universellt koncept med buntar, som låter dig gruppera tjänster enligt godtyckliga egenskaper och uppgifter som ska lösas. För att förbättra arbetseffektiviteten används en kompilerad beroendedatabas, skapad av s6-rc-compile-verktyget baserat på innehållet i kataloger med filer för att starta/stoppa tjänster. Verktygen s6-rc-db och s6-rc-update erbjuds för att analysera och manipulera databasen. Systemet stöder sysv-init-kompatibla init-skript och kan importera beroendeinformation från sysv-rc eller OpenRC.

Bland fördelarna med s6-rc är en kompakt implementering som inte innehåller något överflödigt förutom komponenter för att lösa direkta problem och förbrukar ett minimum av resurser. Till skillnad från andra tjänsteansvariga stöder s6-rc proaktiv (offline) konstruktion av en beroendegraf för en befintlig uppsättning tjänster, vilket gör att du kan utföra resurskrävande beroendeanalys separat, och inte under laddning eller tillståndsändringar. Samtidigt är systemet inte monolitiskt och är uppdelat i en serie separata och utbytbara moduler, som var och en, i enlighet med Unix-filosofin, endast löser en specifik uppgift.

I kombination med s6-verktyg som övervakar driften av processer (analogt med daemontools och runit), låter verktygslådan dig samtidigt övervaka driften av långvariga tjänster, till exempel starta om dem i händelse av onormala avslutningar och säkerställa att en sekvens av kommandon lanseras i en reproducerbar form, som upprepas över olika startups. Funktioner som stöds inkluderar aktivering av en tjänst vid åtkomst till en socket (starta en hanterare vid åtkomst till en nätverksport), loggning av processhändelser (ersätter syslogd) och kontrollerad beviljande av ytterligare privilegier (analogt med sudo).

Samtidigt är utgåvan av paketet s6-linux-init 1.0.7.0 tillgänglig, som erbjuder en implementering av init-processen för att bygga färdiga init-system för operativsystem baserade på Linux-kärnan, där s6 och s6 -rc-verktyg används för att hantera tjänster och initialiseringsskript. Samtidigt är s6 och s6-rc inte bundna till s6-linux-init och kan, om så önskas, användas med alla initieringssystem.

Dessutom ger projektet:

  • s6-networking är en uppsättning verktyg för att skapa nätverkstjänster, liknande ucspi.
  • s6-frontend - ett ramverk för att återskapa funktionaliteten hos daemontools och runit ovanpå s6.
  • s6-portable-utils är en uppsättning standard Unix-verktyg som cut, chmod, ls, sort och grep, optimerade för minimal resursförbrukning och levereras under ISC-licensen.
  • s6-linux-utils - En uppsättning Linux-specifika verktyg som chroot, freeramdisk, logwatch, mount och swapon.
  • s6-dns är en uppsättning klientbibliotek och verktyg som ersätter standard DNS-verktyg från BIND och djbdns.

I den nya versionen av s6-rc implementerar s6-rc-compile-verktyget att läsa data om beroenden och uppsättningar tjänster från kataloger, istället för filer. Att använda kataloger förenklar att lägga till tjänster till databasen med information om beroenden vid installation av program genom en pakethanterare, eftersom det låter dig göra utan att göra ändringar i filer. Stöd för det gamla filbaserade formatet har behållits för att säkerställa kompatibilitet. I den nya versionen av s6-linux-init har alternativet "-S" lagts till i s6-linux-init-maker-verktyget för att synkronisera data i behållare.

Källa: opennet.ru

Lägg en kommentar