Nye versioner af s6-rc service manager og s6-linux-init initialiseringssystemet

Udgivelsen af ​​s6-rc 0.5.6.0 service manager præsenteres. Det er designet til at administrere lanceringen af ​​initialiseringsscripts og -tjenester. Understøtter sporing af afhængighedstræ og automatisk start eller stop af tjenester for at nå en bestemt tilstand. s6-rc-værktøjskassen kan bruges både i initialiseringssystemer og til at organisere lanceringen af ​​vilkårlige tjenester i forbindelse med hændelser, der afspejler en ændring i systemets tilstand. Systemet understøtter sysv-init-kompatible initialiseringsscripts og kan importere afhængighedsoplysninger fra sysv-rc eller OpenRC. Koden er skrevet i C og distribueret under ISC-licensen.

s6-rc service manager indeholder et sæt værktøjer til at starte og stoppe langvarige processer (daemoner) eller øjeblikkeligt afsluttede initialiseringsscripts. Under drift sikres parallel opstart af ikke-krydsende tjenester, og en gentagende sekvens af scriptudførelse garanteres for forskellige opstarter. Alle tilstandsændringer behandles under hensyntagen til afhængigheder. For eksempel, når en tjeneste startes, startes de afhængigheder, der er nødvendige for dens drift, automatisk, og når den stoppes, stoppes de afhængige tjenester også.

I modsætning til andre service managers understøtter s6-rc proaktiv (offline) konstruktion af en afhængighedsgraf for et eksisterende sæt af tjenester, hvilket gør det muligt at udføre ressourcekrævende afhængighedsanalyse separat i stedet for under opstart eller tilstandsændringer. Samtidig er systemet ikke monolitisk og er opdelt i en række separate og udskiftelige moduler, som hver især, i overensstemmelse med Unix-filosofien, kun løser en specifik opgave. s6-rc-projektet følger minimalismens filosofi (indeholder ikke noget unødvendigt) og forbruger et minimum af ressourcer.

I stedet for runlevels foreslår s6-rc konceptet med bundter, som tillader gruppering af tjenester efter vilkårlige karakteristika og opgaver, der skal løses. For at forbedre arbejdets effektivitet anvendes en kompileret afhængighedsdatabase, oprettet af s6-rc-compile-værktøjet baseret på indholdet af mapper med filer til start/stop af tjenester. Til parsing og manipulation af databasen tilbydes værktøjerne s6-rc-db og s6-rc-update.

Samtidig blev der dannet nye versioner af ledsagende pakker, der supplerer s6-rc:

  • s6 2.13.2.0 — værktøjer til overvågning af processers drift og styring af processer (analogt med daemontools og runit). Understøttede funktioner inkluderer genstart af processer efter deres unormale afslutning, start af en handler (aktivering af en tjeneste) ved adgang til en netværksport, logføring af hændelser (erstatning af syslogd) og kontrolleret tildeling af yderligere rettigheder (ligner sudo).
  • s6-linux-init 1.1.3.0 — en implementering af init-processen til kernebaserede operativsystemer Linux, bruges til at oprette init-systemer, der bruger s6- og s6-rc-pakkerne til at administrere tjenester og scripts.
  • s6-networking 2.7.1.0 er et sæt værktøjer til oprettelse af netværkstjenester, svarende til ucspi.
  • s6-frontend - en ramme til at genskabe funktionaliteten af ​​daemontools og runit oven på s6.
  • s6-portable-utils 2.3.1.0 er et sæt typiske Unix-værktøjer såsom cut, chmod, ls, sort og grep, optimeret til at forbruge minimale ressourcer og distribueret under ISC-licensen.
  • s6-linux-utils 2.6.3.0 - et sæt værktøjer knyttet til Linuxsåsom chroot, freeramdisk, logwatch, mount og swapon.
  • mdevd 0.1.7.0 er en event manager (analog med udevd) designet til at håndtere hot plugging af enheder. Med hensyn til konfiguration er mdevd kompatibel med mdev fra Busybox.
  • bcnm 0.0.2.0 — netværkskonfigurator med muligheder for at konfigurere Wi-Fi på klientsiden.
  • execline 2.9.7.0 er et scriptsprog.
  • skalibs 2.14.4.0 er et bibliotek til oprettelse af sikre systemapplikationer i C.
  • s6-dns 2.4.1.0 er et sæt klientbiblioteker og værktøjer, der erstatter de typiske DNS-værktøjer fra BIND og djbdns.
  • dnsfunnel 0.0.3.0 - omdirigerer lokale DNS-anmodninger til en ekstern server (DNS-videresendelsesudbyder).
  • shibari 0.0.2.0 er en simpel DNS-server.
  • tipidee 0.0.6.0 — HTTP-server med HTTP/1.1-understøttelse.

I nye versioner er pkg-config-understøttelse blevet tilføjet til alle pakker. Skalibs-biblioteket implementerer varianter af input/output-funktioner, hvis udførelsestid kan begrænses af en timeout. Tilføjet "-I"-indstillingen til mdevd for at angive navnet på netlink-gruppen til at modtage anmodninger, standardbufferstørrelsen er øget til 1 MB. tipideed giver mulighed for at streame outputtet fra CGI-scripts, tilføjer understøttelse af PUT-, DELETE- og PATCH-metoderne og implementerer autochunk-direktivet til chunkeret kodning af transmitterede data.

Kilde: opennet.ru

Køb pålidelig hosting til websteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster