Versiuni noi ale managerului de servicii s6-rc și sistemului de inițializare s6-linux-init

A fost lansată versiunea 0.5.6.0 a managerului de servicii s6-rc, destinat gestionării lansării scripturilor de inițializare și a serviciilor. Se susține urmărirea arborilor de dependențe și lansarea sau oprirea automată a serviciilor pentru a atinge starea specificată. Uneltele s6-rc pot fi utilizate atât în sistemele de inițializare, cât și pentru organizarea lansării serviciilor arbitrare în funcție de evenimentele care reflectă schimbarea stării sistemului. Sistemul acceptă scripturi de inițializare compatibile cu sysv-init și poate importa informații despre dependențe din sysv-rc sau OpenRC. Codul este scris în limbajul C și este distribuit sub licența ISC.

Managerul de servicii s6-rc include un set de utilitară pentru lansarea și oprirea proceselor de lungă durată (demonii) sau a scripturilor de inițializare care se încheie rapid. În procesul de funcționare se asigură lansarea paralelă a serviciilor care nu se intersectează între ele și se garantează o secvență repetitivă la diferite lansări a execuției scripturilor. Toate modificările stării sunt procesate ținând cont de dependențe, de exemplu, la lansarea unui serviciu, dependențele necesare pentru funcționarea acestuia vor fi lansate automat, iar la oprire vor fi oprite și serviciile dependente.

Spre deosebire de alți manageri de servicii, s6-rc susține construirea în avans (în modul offline) a graficului de dependențe pentru setul de servicii existent, ceea ce permite efectuarea unei analize consumatoare de resurse a dependențelor separat, nu în timpul încărcării sau schimbării stării. În același timp, sistemul nu este monolitic și este împărțit în serii de module separate și schimbabile, fiecare dintre ele rezolvând, conform filozofiei Unix, doar o anumită sarcină. Proiectul s6-rc aderă la filozofia minimalismului (nu conține nimic în plus) și consumă un minim de resurse.

În locul nivelurilor de pornire (runlevel) în s6-rc, se propune conceptul de seturi (bundles), care permite gruparea serviciilor în funcție de criterii arbitrare și sarcini rezolvate. Pentru a îmbunătăți eficiența muncii, se utilizează o bază de date compilată a dependențelor, creată de utilitarul s6-rc-compile pe baza conținutului directoarelor cu fișierele pentru pornirea/oprirea serviciilor. Pentru analiza și manipularea bazei de date sunt oferite utilitarele s6-rc-db și s6-rc-update.

În același timp, au fost formulate versiuni noi ale pachetelor auxiliare care completează s6-rc:

  • s6 2.13.2.0 — utilitare pentru monitorizarea activității proceselor și gestionarea proceselor (analogic cu daemontools și runit). Se susțin astfel de funcționalități ca repornirea proceselor după terminarea lor neașteptată, activarea unui handler (activarea serviciului) la accesarea unui port de rețea, jurnalizarea evenimentelor (înlocuirea syslogd) și furnizarea controlată a privilegiilor suplimentare (analogic cu sudo).
  • s6-linux-init 1.1.3.0 — implementarea procesului init pentru sistemele de operare bazate pe kernel Linux, utilizat pentru crearea sistemelor de inițializare în care pachetele s6 și s6-rc sunt folosite pentru gestionarea serviciilor și scripturilor.
  • s6-networking 2.7.1.0 — un set de utilitare pentru crearea serviciilor de rețea, similar cu ucspi.
  • s6-frontend — o interfață pentru recrearea funcționalității daemontools și runit deasupra s6.
  • s6-portable-utils 2.3.1.0 — un set de utilitare Unix standard, cum ar fi cut, chmod, ls, sort și grep, optimizate pentru consumul minim de resurse și livrate sub licența ISC.
  • s6-linux-utils 2.6.3.0 — un set de utilitare legate de Linux, cum ar fi chroot, freeramdisk, logwatch, mount și swapon.
  • mdevd 0.1.7.0 — manager de evenimente (analogic cu udevd), destinat procesării conectărilor la cald ale dispozitivelor. După configurație, mdevd este compatibil cu mdev din Busybox.
  • bcnm 0.0.2.0 — configurator de rețea cu funcționalități pentru configurarea Wi-Fi pe client.
  • execline 2.9.7.0 — limbaj de scripting.
  • skalibs 2.14.4.0 — bibliotecă pentru crearea aplicațiilor de sistem sigure în limbajul C.
  • s6-dns 2.4.1.0 — un set de biblioteci și utilitare client care înlocuiesc utilitarele DNS standard din BIND și djbdns.
  • dnsfunnel 0.0.3.0 — redirecționează cererile DNS locale către externe serverul (DNS forwarder).
  • shibari 0.0.2.0 — un server DNS simplu.
  • tipidee 0.0.6.0 — server HTTP cu suport pentru HTTP/1.1.

În noile versiuni, toate pachetele includ suport pentru pkg-config. În biblioteca skalibs au fost implementate variante ale funcțiilor de intrare/ieșire, al căror timp de execuție poate fi limitat printr-un timeout. În mdevd a fost adăugată opțiunea „-I” pentru a seta numele grupului netlink pentru primirea cererilor, iar dimensiunea buffer-ului implicit a fost crescută la 1 MB. În tipideed a fost asigurată posibilitatea de streaming a ieșirii CGI-script-urilor, a fost adăugată suport pentru metodele PUT, DELETE și PATCH, iar directorul autochunk pentru codificarea chunked a datelor transmise a fost implementat.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster