Distri - o distribuție pentru testarea tehnologiilor rapide de gestionare a pachetelor

Michael Stapelberg, autorul managerului de ferestre cu plăci i3wm și fost dezvoltator activ Debian (însoțit de aproximativ 170 de colete), dezvoltă distribuţie experimentală distri și un manager de pachete cu același nume. Proiectul este poziționat ca o explorare a posibilelor modalități de creștere a performanței sistemelor de management al pachetelor și întruchipează câteva idei noi pentru construirea distribuțiilor. Codul managerului de pachete este scris în Go și distribuit de sub licența BSD.

O caracteristică cheie a formatului de pachet al distribuției este livrarea sa ca imagini SquashFS, mai degrabă decât fișiere tar comprimate. Utilizarea SquashFS, similară cu formatele AppImage și Snap, permite montarea unui pachet fără despachetare, economisind spațiu pe disc, permițând modificări atomice și făcând conținutul pachetului accesibil instantaneu. În același timp, pachetele distribu, la fel ca formatul clasic „deb”, conțin doar componente individuale legate prin dependențe de alte pachete (bibliotecile nu sunt duplicate în pachete, ci instalate ca dependențe). Cu alte cuvinte, distribu încearcă să combine structura granulară de împachetare a distribuțiilor clasice, cum ar fi Debian, cu metode pentru livrarea aplicațiilor sub formă de containere montate.

Fiecare pachet din distri este montat în propriul director în modul doar citire (de exemplu, pachetul zsh este disponibil ca „/ro/zsh-amd64-5.6.2-3”), ceea ce are un efect pozitiv asupra securității și protejează împotriva modificărilor accidentale sau rău intenționate. Pentru a forma o ierarhie de directoare de servicii, cum ar fi /usr/bin, /usr/share și /usr/lib, se folosește un modul special FUSE, care combină conținutul tuturor imaginilor SquashFS instalate într-un singur întreg (de exemplu, / directorul ro/share oferă acces la subdirectoare de partajare din toate pachetele).

pachete in distri fundamental livrat de la handlere apelați în timpul instalării (fără cârlige sau declanșatoare), și diferite versiuni ale unui pachet pot coexista între ele, astfel încât instalarea paralelă a pachetelor devine posibilă. Structura propusă limitează performanța managerului de pachete doar la debitul rețelei prin care sunt descărcate pachetele. Instalarea sau actualizarea efectivă a pachetului se realizează atomic și nu necesită duplicarea conținutului.

Conflictele la instalarea pachetelor sunt eliminate deoarece fiecare pachet este asociat cu propriul director și sistemul permite prezența diferitelor versiuni ale unui pachet (conținutul directorului cu o revizuire mai recentă a pachetului este inclus în directoarele uniunii). Construirea pachetelor este, de asemenea, foarte rapidă și nu necesită instalarea pachetelor într-un mediu de construcție separat (reprezentările dependențelor necesare din directorul /ro sunt create în mediul de compilare).

Sprijinit comenzi tipice de gestionare a pachetelor, cum ar fi „distri install” și „distri update”, iar în loc de comenzi de informații, puteți utiliza utilitarul standard „ls” (de exemplu, pentru a vizualiza pachetele instalate, trebuie doar să afișați o listă de directoare în „ /ro”, iar pentru a afla în ce pachet este inclus fișierul, vezi unde duce linkul din acest fișier).

Kit-ul de distribuție prototip propus pentru experimentare include aproximativ 1700 pachete si gata imagini de instalare cu un program de instalare, potrivit atât pentru instalare ca sistem de operare principal, cât și pentru rularea în QEMU, Docker, Google Cloud și VirtualBox. Acceptă pornirea de pe o partiție de disc criptată și un set de aplicații standard pentru crearea unui desktop bazat pe managerul de ferestre i3 (Google Chrome este oferit ca browser). Furnizat un set complet de instrumente pentru asamblarea unei distribuții, pregătirea și generarea pachetelor, distribuirea pachetelor prin oglinzi etc.

Sursa: opennet.ru

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster