Lansarea managerului de servicii s6-rc 0.5.3.0 și a sistemului de inițializare s6-linux-init 1.0.7

A fost pregătit un lansare semnificativă a managerului de servicii s6-rc 0.5.3.0, destinat gestionării lansării scripturilor de inițializare și a serviciilor, având în vedere dependențele. Instrumentul s6-rc poate fi utilizat atât în sistemele de inițializare, cât și pentru organizarea lansării de servicii arbitrare legate de evenimente care reflectă schimbările de stare ale sistemului. Se oferă o urmărire completă a arborelui de dependențe și lansarea sau închiderea automată a serviciilor pentru a atinge starea specificată. Codul este scris în limbajul C și este distribuit sub licența ISC.

Managerul de servicii s6-rc, care poate fi considerat un analog al sysv-rc sau OpenRC, include un set de utilitare pentru lansarea și oprirea proceselor de lungă durată (demoni) sau a scripturilor de inițializare care se termină imediat. În timpul funcționării se iau în considerare dependențele dintre componente, se asigură lansarea paralelă a scripturilor și serviciilor care nu se intersectează, și se garantează o ordine de execuție repetabilă în cadrul diferitelor lansări ale scripturilor. Toate modificările de stare sunt gestionate ținând cont de dependențe, asigurându-se că dependențele nu sunt încălcate (de exemplu, la lansarea unui serviciu, dependențele necesare pentru funcționarea sa vor fi activate automat, iar la oprire — serviciile dependente vor fi oprite).

În locul nivelurilor de lansare (runlevel), s6-rc propune o concept mai versatil de seturi (bundles), care permite gruparea serviciilor după caracteristici arbitrare și sarcini rezolvate. Pentru a spori eficiența de funcționare, se utilizează o bază de date de dependențe compilată, creată de utilitarul s6-rc-compile pe baza conținutului directorilor cu fișiere pentru lansarea/oprirea serviciilor. Pentru analizarea și manipularea Bazei de Date sunt disponibile utilitarele s6-rc-db și s6-rc-update. Sistemul suportă scripturi de inițializare compatibile cu sysv-init și poate importa informații despre dependențe din sysv-rc sau OpenRC.

Printre avantajele s6-rc se numără implementarea compactă, fără nimic în plus, în afară de componentele necesare pentru rezolvarea sarcinilor directe, consumând un minim de resurse. Spre deosebire de alți manageri de servicii, s6-rc suportă construcția anticipată (în modul offline) a graficelor de dependență pentru un set existent de servicii, permițând astfel efectuarea unei analize intensivă a dependențelor separat, nu în timpul încărcării sau al modificării stării. În plus, sistemul nu este monolitic și este împărțit într-o serie de module separate și interschimbabile, fiecare dintre acestea rezolvând într-un mod specific o anumită problemă, conform filozofiei Unix.

Împreună cu utilitarele s6, care monitorizează execuția proceselor (analog cu daemontools și runit), setul de instrumente permite controlul simultan al serviciilor care rulează pe termen lung, de exemplu, reiniciindu-le în caz de încheiere anormală, și asigură execuția unei serii de comenzi într-o formă reproducibilă, repetându-se la diferite lansări. De asemenea, sunt acceptate posibile activări ale serviciilor la accesarea unui socket (lansarea unui handler la accesarea unui port de rețea), jurnalizarea evenimentelor de proces (înlocuind syslogd) și furnizarea controlată a privilegiilor suplimentare (analog cu sudo).

În același timp, este disponibilă versiunea pachetului s6-linux-init 1.0.7.0, care oferă o implementare a procesului init pentru construirea sistemelor de inițializare gata de utilizare pentru sistemele de operare bazate pe kernel Linux, în care utilitarele s6 și s6-rc sunt utilizate pentru gestionarea serviciilor și scripturilor de inițializare. S6 și s6-rc nu sunt legate de s6-linux-init și, dacă se dorește, pot fi utilizate cu orice sisteme de inițializare.

În plus, proiectul oferă:

  • s6-networking — un set de utilitare pentru crearea de servicii de rețea, similar cu ucspi.
  • s6-frontend — o interfață pentru recrearea funcționalității daemontools și runit deasupra s6.
  • s6-portable-utils — un set de utilitare Unix standard, cum ar fi cut, chmod, ls, sort și grep, optimizate pentru a consuma resurse minime și livrate sub licența ISC.
  • s6-linux-utils — un set de utilitare legate de Linux, cum ar fi chroot, freeramdisk, logwatch, mount și swapon.
  • s6-dns — un set de biblioteci client și utilitare, înlocuind utilitarele DNS standard din BIND și djbdns.

În noua versiune s6-rc, utilitarul s6-rc-compile implementează citirea datelor despre dependențe și seturi de servicii din directoare, în loc de fișiere. Utilizarea directoarelor simplifică adăugarea de servicii în baza de date cu informații despre dependențe în timpul instalării programelor prin managerul de pachete, deoarece permite evitarea modificărilor în fișiere. Suportul pentru vechiul format bazat pe fișiere a fost păstrat pentru a asigura compatibilitatea. În noua versiune s6-linux-init, utilitarul s6-linux-init-maker a fost dotat cu opțiunea „-S” pentru sincronizarea datelor în containere.

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