Utgåvan av tjänstechefen s6-rc 0.5.6.0 har presenterats, som är avsedd för hantering av initieringsskrift och tjänsters start. Stöd för spårning av beroendeträd och automatisk start eller stopp av tjänster för att uppnå det angivna tillståndet är inkluderat. s6-rc-verktygen kan användas både i initieringssystem och för att organisera starten av godtyckliga tjänster kopplade till händelser som speglar systemets tillstånd. Systemet stöder initieringsskrifter kompatibla med sysv-init och kan importera beroendeinformation från sysv-rc eller OpenRC. Koden är skriven i C och distribueras under ISC-licensen.
Tjänstechefen s6-rc inkluderar en uppsättning verktyg för att starta och stoppa långvariga processer (demoner) eller omedelbart avslutande initieringsskript. Under drift säkerställs parallell start av icke-överlappande tjänster och en konsekvent sekvens av skriptens körning över olika starter. Alla tillståndsändringar hanteras med beaktande av beroenden, exempelvis när en viss tjänst startas, kommer nödvändiga beroenden för dess funktionalitet automatiskt att startas, och vid stopp – stoppas beroende tjänster.
Till skillnad från andra tjänstechefer stödjer s6-rc proaktiv (offline) uppbyggnad av beroendegrafen för det befintliga tjänstesetet, vilket gör att resurskrävande beroendeanalys kan utföras separat, snarare än under uppstart eller tillståndsändring. Systemet är inte monolitiskt och är uppdelat i en serie separata och utbytbara moduler, var och en av vilka i enlighet med Unix-filosofin löser endast en specifik uppgift. Projektet s6-rc följer minimalismens filosofi (innehåller inget överflödigt) och konsumerar minimala resurser.
Istället för startnivåer (runlevel) i s6-rc introduceras konceptet med paket (bundles) som möjliggör gruppering av tjänster efter valfria kriterier och lösta uppgifter. För att öka arbetseffektiviteten används en kompilerad beroendedatabas som skapas av verktyget s6-rc-compile baserat på innehållet i kataloger med filer för att starta/stänga tjänster. För att analysera och manipulera databasen erbjuds verktygen s6-rc-db och s6-rc-update.
Samtidigt har nya versioner av de medföljande paketen som kompletterar s6-rc formaterats:
- s6 2.13.2.0 — verktyg för att övervaka processer och hantera processer (analog till daemontools och runit). Stöder funktioner som att starta om processer efter krascher, aktivera en tjänst vid åtkomst till en nätverksport, loggföra händelser (ersättning för syslogd) och kontrollerad tillhandahållande av ytterligare privilegier (analogt med sudo).
- s6-linux-init 1.1.3.0 — implementering av init-processen för operativsystem baserade på Linux-kärnan, som används för att skapa initieringssystem där paket som s6 och s6-rc används för att hantera tjänster och skript.
- s6-networking 2.7.1.0 — uppsättning verktyg för att skapa nätverkstjänster, liknande ucspi.
- s6-frontend — en wrapper för att återskapa funktionaliteten hos daemontools och runit ovanpå s6.
- s6-portable-utils 2.3.1.0 — uppsättning standard Unix-verktyg som cut, chmod, ls, sort och grep, optimerade för minimal resursförbrukning och distribuerade under ISC-licensen.
- s6-linux-utils 2.6.3.0 — uppsättning verktyg kopplade till Linux, som chroot, freeramdisk, logwatch, mount och swapon.
- mdevd 0.1.7.0 — händelsehanterare (analogt med udevd), avsedd för hantering av hotplugging av enheter. Konfigurationen av mdevd är kompatibel med mdev i Busybox.
- bcnm 0.0.2.0 — nätverkskonfigurerare med funktioner för att konfigurera Wi-Fi på klientsidan.
- execline 2.9.7.0 — språk för skriptprogrammering.
- skalibs 2.14.4.0 — bibliotek för att skapa säkra systemapplikationer i C.
- s6-dns 2.4.1.0 — uppsättning klientbibliotek och verktyg som ersätter vanliga DNS-verktyg från BIND och djbdns.
- dnsfunnel 0.0.3.0 — omdirigerar lokala DNS-förfrågningar till externa. server (DNS-omdirigerare).
- shibari 0.0.2.0 — en enkel DNS-server.
- tipidee 0.0.6.0 — HTTP-server med stöd för HTTP/1.1.
I de nya versionerna har alla paket fått stöd för pkg-config. I biblioteket skalibs har funktioner för in-och utmatning implementerats med en timeout-möjlighet. I mdevd har alternativet "-I" lagts till för att ange namnet på netlink-gruppen för att ta emot förfrågningar, och den förinställda buffertstorleken har ökat till 1 MB. I tipideed har möjligheten att strömma utdata från CGI-skript lagts till, stöd för metoderna PUT, DELETE och PATCH har införts, och direktivet autochunk för chunked-kodning av överförda data har implementerats.
Källa: opennet.ru
