Udgivelsen af service manager s6-rc 0.6.0.0 er tilgængelig, designet til at styre opstarten af initialiseringsscript og services. Der understøttes overvågning af afhængighedstræet og automatisk start eller stop af services for at opnå den angivne tilstand. S6-rc værktøjerne kan anvendes både i init-systemer og til at organisere opstart af vilkårlige services i forbindelse med begivenheder, der afspejler ændringer i systemets tilstand. Systemet understøtter initialiseringsscripts, der er kompatible med sysv-init, og kan importere afhængighedsinformation fra sysv-rc eller OpenRC. Koden er skrevet i C og distribueres under ISC-licensen.
Service manageren s6-rc inkluderer et sæt værktøjer til at starte og stoppe langvarige processer (demoner) eller kortvarige initialiseringsscripts. Under drift sikres der en parallelt kørende start af uafhængige services, og der garanteres en gentagelig sekvens af scripts ved forskellige opstarter. Alle ændringer i tilstanden håndteres under hensyntagen til afhængigheder, for eksempel ved opstart af en service vil de nødvendige afhængigheder automatisk blive startet, og ved stop vil de afhængige services blive stoppet.
I modsætning til andre service managers understøtter s6-rc proaktiv (offline) opbygning af en afhængighedsgraf for den eksisterende samling af services, hvilket muliggør ressourcekrævende afhængighedsanalyse separat og ikke under opstart eller ændring af tilstand. Systemet er ikke monolitisk, men opdelt i en række separate og udskiftelige moduler, hvor hver især i overensstemmelse med Unix-filosofien løser en bestemt opgave. Projektet s6-rc følger minimalismens filosofi (indeholder ikke unødvendige elementer) og forbruger minimum af ressourcer.
I stedet for kørselsniveauer (runlevel) i s6-rc introduceres konceptet bundles, som muliggør gruppering af tjenester efter vilkårlige kriterier og opgaver. For at forbedre effektiviteten anvendes en kompilieret afhængigheds-database, der oprettes af værktøjet s6-rc-compile baseret på indholdet af mapper med filer til opstart/nedlukning af tjenester. Til analyse og manipulation af databasen tilbydes værktøjerne s6-rc-db og s6-rc-update.
I den nye version er der tilføjet samlinger af værktøjer s6-rc-repo-* og s6-rc-set-* til at administrere repositoryer med service-definitioner; understøttelse af delte biblioteker på macOS-platformen er sikret; tilføjet indstillingen "—bootdb" til at konfigurere opbygningen af en boot-database med information om services og deres afhængigheder; ved s6-rc-compile værktøjet er der tilføjet indstillingen "-v2".
Projektet udvikler også supplerende pakker, der komplementerer s6-rc:
- s6 — værktøjer til overvågning og styring af processer (analog til daemontools og runit). Muligheder som genstart af processer efter fejlstop, aktivering af service ved adgang til en netværksport, logning af begivenheder (erstatning for syslogd) og kontrolleret tildeling af ekstra privilegier (analog til sudo) understøttes.
- s6-linux-init — implementering af init-processen for operativsystemer baseret på Linux-kernen, der anvendes til at skabe init-systemer, hvor service- og scriptadministration udføres ved hjælp af pakkerne s6 og s6-rc.
- s6-networking — et sæt værktøjer til oprettelse af netværkstjenester, der ligner ucspi.
- s6-frontend — et lag for at genskabe funktionaliteten fra daemontools og runit ovenpå s6.
- s6-portable-utils — et sæt typiske Unix-værktøjer som cut, chmod, ls, sort og grep, optimeret til at forbruge minimalt med ressourcer og leveres under ISC-licensen.
- s6-linux-utils — et sæt værktøjer, der er knyttet til Linux, som chroot, freeramdisk, logwatch, mount og swapon.
- mdevd — en hændelsesmanager (analog til udevd), der er designet til at håndtere hot-plugging af enheder. Ifølge konfigurationen er mdevd kompatibel med mdev fra Busybox.
- bcnm — en netværkskonfigurator med muligheder for at konfigurere Wi-Fi på klientsiden.
- execline - scriptsprogget.
- skalibs - bibliotek til opbygning af sikre systemapplikationer i C.
- s6-dns - et sæt klientbiblioteker og værktøjer, der erstatter standard DNS-værktøjer fra BIND og djbdns.
- dnsfunnel - omdirigerer lokale DNS-anmodninger til eksterne. server (DNS forwarder).
- shibari - en simpel DNS-server.
- tipidee - en HTTP-server med understøttelse af HTTP/1.1.
Kilde: opennet.ru
