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

A fost pregătită o versiune semnificativă a managerului de servicii s6-rc 0.5.3.0, concepută pentru a gestiona lansarea scripturilor și serviciilor de inițializare, ținând cont de dependențe. Setul de instrumente s6-rc poate fi utilizat atât în ​​sistemele de inițializare, cât și pentru organizarea lansării de servicii arbitrare în legătură cu evenimente care reflectă schimbări în starea sistemului. Oferă urmărirea completă a arborelui de dependență și pornirea sau oprirea automată a serviciilor pentru a ajunge la o anumită stare. Codul este scris în 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 pornirea și oprirea proceselor de lungă durată (daemoni) sau a scripturilor de inițializare terminate imediat. În timpul lucrului, se iau în considerare dependențele dintre componente, se asigură lansarea paralelă a scripturilor și serviciilor care nu se intersectează între ele, iar secvența de execuție a scripturilor este garantată a fi repetată în diferite lansări. Toate schimbările de stare sunt procesate ținând cont de dependențe, asigurându-vă că dependențele nu sunt încălcate (de exemplu, atunci când un serviciu este pornit, dependențele necesare funcționării acestuia vor fi lansate automat, iar atunci când sunt oprite, serviciile dependente vor fi și ele oprite).

În loc de niveluri de execuție, s6-rc oferă un concept mai universal de pachete, care vă permite să grupați serviciile în funcție de caracteristici arbitrare și sarcini de rezolvat. Pentru a îmbunătăți eficiența muncii, este utilizată o bază de dependență compilată, creată de utilitarul s6-rc-compile pe baza conținutului directoarelor cu fișiere pentru pornirea/oprirea serviciilor. Utilitarele s6-rc-db și s6-rc-update sunt oferite pentru analizarea și manipularea bazei de date. Sistemul acceptă scripturi init compatibile cu sysv-init și poate importa informații de dependență din sysv-rc sau OpenRC.

Printre avantajele s6-rc se numără o implementare compactă care nu conține nimic de prisos în afară de componente pentru rezolvarea problemelor directe și consumă un minim de resurse. Spre deosebire de alți manageri de servicii, s6-rc acceptă construcția proactivă (offline) a unui grafic de dependență pentru un set existent de servicii, ceea ce vă permite să efectuați separat analize de dependență, care necesită un consum mare de resurse, și nu în timpul încărcării sau schimbărilor de stare. În același timp, sistemul nu este monolitic și este împărțit într-o serie de module separate și înlocuibile, fiecare dintre acestea, în conformitate cu filozofia Unix, rezolvă doar o anumită sarcină.

În combinație cu utilitățile s6 care monitorizează funcționarea proceselor (analog cu daemontools și runit), setul de instrumente vă permite să monitorizați simultan funcționarea serviciilor de lungă durată, de exemplu, repornirea acestora în cazul unor terminări anormale și să vă asigurați că o secvență de comenzi este lansată într-o formă reproductibilă, repetată în diferite startup-uri. Caracteristicile acceptate includ activarea unui serviciu la accesarea unui socket (lansarea unui handler la accesarea unui port de rețea), înregistrarea evenimentelor procesului (înlocuirea syslogd) și acordarea controlată a privilegiilor suplimentare (analog cu sudo).

În același timp, este disponibilă și lansarea pachetului s6-linux-init 1.0.7.0, oferind o implementare a procesului init pentru construirea de sisteme init gata făcute pentru sistemele de operare bazate pe nucleul Linux, în care s6 și s6 Utilitarele -rc sunt folosite pentru a gestiona serviciile și scripturile de inițializare. În același timp, 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 prevede:

  • s6-networking este un set de utilități pentru crearea de servicii de rețea, similar cu ucspi.
  • s6-frontend - un cadru pentru recrearea funcționalității daemontools și runit pe s6.
  • s6-portable-utils este un set de utilitare standard Unix, cum ar fi cut, chmod, ls, sort și grep, optimizate pentru un consum minim de resurse și furnizate sub licența ISC.
  • s6-linux-utils - Un set de utilitare specifice Linux, cum ar fi chroot, freeramdisk, logwatch, mount și swapon.
  • s6-dns este un set de biblioteci client și utilitare care înlocuiesc utilitarele DNS standard de la BIND și djbdns.

În noua versiune a 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 la baza de date cu informații despre dependențe atunci când instalați programe printr-un manager de pachete, deoarece vă permite să faceți fără a face modificări la fișiere. Suportul pentru vechiul format bazat pe fișiere a fost păstrat pentru a asigura compatibilitatea. În noua versiune a s6-linux-init, opțiunea „-S” a fost adăugată la utilitarul s6-linux-init-maker pentru sincronizarea datelor în containere.

Sursa: opennet.ru

Adauga un comentariu