Release van de s6-rc 0.7 service manager

Release 0.7.0.0 van de s6-rc service manager is uitgebracht. Deze is ontworpen voor het beheren van de uitvoering van initialisatiescripts en services. Het ondersteunt het bijhouden van afhankelijkheidsstructuren en het automatisch starten of afsluiten van services om een ​​bepaalde status te bereiken. De s6-rc toolkit kan zowel in initialisatiesystemen worden gebruikt als voor het organiseren van de uitvoering van willekeurige services op basis van gebeurtenissen die systeemstatuswijzigingen weerspiegelen. Het systeem ondersteunt initialisatiescripts die compatibel zijn met sysv-init en kan afhankelijkheidsinformatie importeren van sysv-rc of OpenRC. De code is geschreven in C en wordt gedistribueerd onder de ISC-licentie.

De s6-rc service manager bevat een set hulpprogramma's waarmee u langlopende processen (daemons) kunt starten en stoppen of initialisatiescripts direct kunt beƫindigen. Tijdens de werking wordt een parallelle lancering van niet-kruisende services gegarandeerd en wordt een herhalende reeks scriptuitvoeringen gegarandeerd voor verschillende lanceringen. Bij alle statuswijzigingen wordt rekening gehouden met afhankelijkheden. Zo worden bijvoorbeeld bij het starten van een service automatisch de afhankelijkheden gestart die nodig zijn voor de werking ervan. Bij het stoppen van een service worden ook de daarvan afhankelijke services gestopt.

In tegenstelling tot andere servicemanagers ondersteunt s6-rc de proactieve (offline) constructie van een afhankelijkheidsgrafiek voor een bestaande set services, waardoor resource-intensieve afhankelijkheidsanalyses afzonderlijk kunnen worden uitgevoerd in plaats van tijdens het opstarten of tijdens statuswijzigingen. Tegelijkertijd is het systeem niet monolithisch en is het verdeeld in een reeks afzonderlijke, vervangbare modules, die elk, conform de Unix-filosofie, slechts een specifieke taak oplossen. Het s6-rc project is gebaseerd op de filosofie van minimalisme (bevat niets overbodigs) en verbruikt zo min mogelijk middelen.

In plaats van runlevels gebruikt s6-rc het concept van bundles, waardoor services kunnen worden gegroepeerd op basis van willekeurige criteria en taken. Om de efficiƫntie te verbeteren, wordt een gecompileerde afhankelijkheidsdatabase gebruikt, die wordt aangemaakt door het hulpprogramma s6-rc-compile op basis van de inhoud van mappen met start-/stopbestanden voor services. De hulpprogramma's s6-rc-db en s6-rc-update worden geleverd voor het parseren en bewerken van de database. De s6-toolchain wordt gebruikt in de Obarun-, Adelie- en Artix-distributies en kan optioneel ook worden gebruikt in Gentoo, Void en Alpine.

Het project ontwikkelt ook bijbehorende pakketten die s6-rc aanvullen:

  • s6 is een hulpprogramma voor het bewaken en beheren van processen (vergelijkbaar met daemontools en runit). Het ondersteunt functies zoals het herstarten van processen na een abnormale beĆ«indiging, het starten van een handler (serviceactivering) wanneer een netwerkpoort wordt benaderd, het loggen van gebeurtenissen (een vervanging voor syslogd) en het gecontroleerd toekennen van extra privileges (vergelijkbaar met sudo).
  • s6-linux-init — een implementatie van het init-proces voor op de kernel gebaseerde besturingssystemen Linux, gebruikt om init-systemen te creĆ«ren die de pakketten s6 en s6-rc gebruiken om services en scripts te beheren.
  • s6-networking is een set hulpprogramma's voor het maken van netwerkservices, vergelijkbaar met ucspi.
  • s6-frontend is een wrapper voor het opnieuw creĆ«ren van daemontools en runit-functionaliteit bovenop s6.
  • s6-portable-utils is een set typische Unix-hulpprogramma's zoals cut, chmod, ls, sort en grep, geoptimaliseerd voor minimaal gebruik van bronnen en gedistribueerd onder de ISC-licentie.
  • s6-linux-utils - een set hulpprogramma's gekoppeld aan Linuxzoals chroot, freeramdisk, logwatch, mount en swapon.
  • mdevd is een eventmanager (vergelijkbaar met udevd) die is ontworpen voor het hotpluggen van apparaten. mdevd is qua configuratie compatibel met Busybox's mdev.
  • bcnm is een netwerkconfigurator waarmee wifi aan de clientzijde geconfigureerd kan worden.
  • Execline is een scripttaal.
  • Skalibs is een bibliotheek voor het ontwikkelen van veilige systeemapplicaties in de programmeertaal C.
  • s6-dns is een set clientbibliotheken en hulpprogramma's die de typische DNS-hulpprogramma's van BIND en djbdns vervangen.
  • dnsfunnel - leidt lokale DNS-verzoeken om naar een externe DNS-server. server (DNS-doorstuurserver).
  • Shibari is een eenvoudige DNS-server.
  • Tipidee is een HTTP-server met ondersteuning voor HTTP/1.1.

In de nieuwe versie van s6-rc en bijbehorende hulpprogramma's:

  • Het commando "s6-rc reload" is geĆÆmplementeerd om langlopende services opnieuw op te starten.
  • Er is een besturingsbestand voor het herlaadsignaal toegevoegd dat het signaal definieert dat naar het proces wordt gestuurd om opnieuw op te starten (standaard is SIGHUP).
  • Het hulpprogramma s6-rc-bundle is verwijderd - het wijzigen van bundels zonder hercompilatie wordt niet langer ondersteund.
  • Er is een nieuw formaat voor de interne database voorgesteld (voor het bijwerken is hercompilatie en het uitvoeren van het hulpprogramma s6-rc-format-upgrade vereist).
  • De correcte afhandeling van het herstarten van het s6-rc-init-hulpprogramma voor service-initialisatie is gewaarborgd en de afhandeling van systeemfouten is verbeterd.
  • Het hulpprogramma s6-rc-set-change is bijgewerkt met de volgende opties: -I/-i om een ​​waarschuwing weer te geven of een foutmelding te genereren wanneer een conflicterende afhankelijkheid wordt gedetecteerd; -P/-p om de automatische oplossing van afhankelijkheidsconflicten uit te schakelen/in te schakelen wanneer de servicestatus verandert.
  • De verouderde optie "-f" is verwijderd.
  • Het s6-hulpprogramma beschikt nu over de opdracht s6-svscanboot om de supervisorlogboeken van s6-svscan door te sturen naar s6-log wanneer het niet onder PID 1 draait.
  • De optie "s6-svc -l" is geĆÆmplementeerd om een ​​signaal voor herstart te verzenden.
  • De s6-frontend gebruikersinterface ondersteunt nu de volgende opties en commando's: "s6 --user" (voor het werken met gebruikersservices), "s6 live reset", "s6 apply", "s6 enable|disable|start|stop|kill|apply", "s6 live stop --clean".
  • De tipidee HTTP-server ondersteunt nu FastCGI en voegt de optie cgi_pass_authorization toe.

    Bron: opennet.ru
Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers šŸ”„ Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster