De release van de service manager s6-rc 0.5.6.0, die is ontworpen voor het beheer van de opstart van initialisatie scripts en services, is gepresenteerd. Het ondersteunt het volgen van afhankelijkheidsbomen en automatisch starten of beƫindigen van services om de opgegeven toestand te bereiken. De s6-rc toolkit kan worden gebruikt in initialisatiesystemen en voor het organiseren van het starten van willekeurige services in verband met gebeurtenissen die een verandering in de systeemstatus weerspiegelen. Het systeem ondersteunt initialisatiescripts die compatibel zijn met sysv-init en kan informatie over afhankelijkheden importeren van sysv-rc of OpenRC. De code is geschreven in de taal C en wordt verspreid onder de ISC-licentie.
De service manager s6-rc omvat een verzameling hulpmiddelen voor het starten en stoppen van langdurig draaiende processen (demonen) of direct eindigende initialisatiescripts. Tijdens de werking wordt parallelle uitvoering van niet-overlappende services gegarandeerd, en de volgorde van de uitvoering van scripts is herhaalbaar bij verschillende uitvoeringen. Alle statuswijzigingen worden verwerkt met inachtneming van afhankelijkheden; bijvoorbeeld, wanneer een bepaalde service wordt gestart, worden de noodzakelijke afhankelijkheden voor de werking ervan automatisch gestart, en bij het stoppen worden ook de afhankelijke services gestopt.
In tegenstelling tot andere service managers ondersteunt s6-rc proactieve (in offline-modus) opbouw van de afhankelijkheidsgrafiek voor de bestaande set services, wat het mogelijk maakt om resources intensieve afhankelijkheidsanalyses apart uit te voeren, en niet tijdens het opstarten of wijzigen van de toestand. Daarnaast is het systeem niet monolithisch en is het verdeeld over een reeks afzonderlijke en vervangbare modules, waarvan elke module, in overeenstemming met de Unix-filosofie, slechts een specifieke taak oplost. Het s6-rc-project volgt de minimalistische filosofie (bevat niets overbodigs) en verbruikt minimaal resources.
In plaats van opstartniveaus (runlevel) biedt s6-rc het concept van bundles, waarmee services kunnen worden gegroepeerd op willekeurige kenmerken en te behandelen taken. Voor een efficiƫntere werking wordt een gecompileerde afhankelijkheidsdatabase aangemaakt door de tool s6-rc-compile op basis van de inhoud van de mappen met bestanden voor het starten/stoppen van services. Voor het parseren en manipuleren van de database zijn de tools s6-rc-db en s6-rc-update beschikbaar.
Tegelijkertijd zijn er nieuwe versies van de bijbehorende pakketten die s6-rc aanvullen:
- s6 2.13.2.0 ā tools voor het volgen van procesactiviteiten en procesbeheer (vergelijkbaar met daemontools en runit). Ondersteunt functies zoals het opnieuw starten van processen na een crash, het activeren van een handler (service activering) bij toegang tot een netwerkpoort, het loggen van gebeurtenissen (vervanging van syslogd) en gecontroleerde toekenning van extra bevoegdheden (vergelijkbaar met sudo).
- s6-linux-init 1.1.3.0 ā implementatie van het init-proces voor besturingssystemen op basis van de Linux-kernel, toegepast voor het creĆ«ren van initialisatiesystemen waarin s6- en s6-rc-pakketten worden gebruikt voor het beheren van services en scripts.
- s6-networking 2.7.1.0 ā een set tools voor het creĆ«ren van netwerkservices, vergelijkbaar met ucspi.
- s6-frontend ā een wrapper voor het opnieuw creĆ«ren van de functionaliteit van daemontools en runit bovenop s6.
- s6-portable-utils 2.3.1.0 ā een set standaard Unix-tools, zoals cut, chmod, ls, sort en grep, geoptimaliseerd voor minimaal resourceverbruik en beschikbaar onder de ISC-licentie.
- s6-linux-utils 2.6.3.0 ā een set tools, specifiek voor Linux, zoals chroot, freeramdisk, logwatch, mount en swapon.
- mdevd 0.1.7.0 ā een evenementenmanager (vergelijkbaar met udevd), ontworpen voor het behandelen van hot-plug aangesloten apparaten. Volgens de configuratie is mdevd compatibel met mdev van Busybox.
- bcnm 0.0.2.0 ā netwerkinsteller met mogelijkheden voor Wi-Fi-configuratie aan de klantzijde.
- execline 2.9.7.0 ā scriptstijltaal.
- skalibs 2.14.4.0 ā bibliotheek voor het ontwikkelen van veilige systeemapplicaties in de C-taal.
- s6-dns 2.4.1.0 ā verzameling clientbibliotheken en hulpprogramma's ter vervanging van standaard DNS-hulpprogramma's uit BIND en djbdns.
- dnsfunnel 0.0.3.0 ā leidt lokale DNS-verzoeken om naar extern. server (DNS-forwarder).
- shibari 0.0.2.0 ā eenvoudige DNS-server.
- tipidee 0.0.6.0 ā HTTP-server met ondersteuning voor HTTP/1.1.
In de nieuwe versies is er ondersteuning voor pkg-config aan alle pakketten toegevoegd. In de skalibs-bibliotheek zijn varianten van in- en uitvoerfuncties geĆÆmplementeerd waarvan de uitvoeringstijd kan worden beperkt met een time-out. In mdevd is de optie "-I" toegevoegd voor het opgeven van de naam van de netlinkgroep voor het ontvangen van verzoeken, en de standaard buffermaat is vergroot tot 1 MB. In tipideed is de mogelijkheid voor streaming van CGI-scriptuitvoer verzekerd, en is ondersteuning voor de methoden PUT, DELETE en PATCH toegevoegd, evenals de richtlijn autochunk voor chunked-encoding van verzonden gegevens.
Bron: opennet.ru
