Distri - distribucija za testiranje tehnologija brzog upravljanja paketima

Michael Stapelberg, autor i3wm popločanog upravitelja prozora i bivši aktivni programer Debiana (održavao oko 170 paketa), razvija se eksperimentalna distribucija distri i upravitelj paketa istog imena. Projekt je pozicioniran kao istraživanje mogućih načina za povećanje performansi sustava za upravljanje paketima i utjelovljuje neke nove ideje za izgradnju distribucija. Kod upravitelja paketa napisan je u Go and distribuira pod BSD licencom.

Ključna značajka formata paketa distribucije je da se paket isporučuje u obliku SquashFS slika, umjesto komprimiranih tar arhiva. Korištenje SquashFS-a, slično formatima AppImage i Snap, omogućuje vam da "montirate" paket bez potrebe da ga raspakirate, što štedi prostor na disku, omogućuje atomske promjene i čini sadržaj paketa trenutačno dostupnim. Istovremeno, distri paketi, kao iu klasičnom “deb” formatu, sadrže samo pojedinačne komponente koje su ovisnostima povezane s drugim paketima (biblioteke se ne dupliciraju u paketima, već se instaliraju kao ovisnosti). Drugim riječima, distri nastoji kombinirati granularnu strukturu paketa klasičnih distribucija poput Debiana s metodama isporuke aplikacija u obliku montiranih spremnika.

Svaki paket u distri montiran je u vlastiti direktorij u modu samo za čitanje (na primjer, paket sa zsh dostupan je kao “/ro/zsh-amd64-5.6.2-3”), što pozitivno utječe na sigurnost i štiti od slučajnih ili zlonamjernih promjena. Za formiranje hijerarhije servisnih direktorija, kao što su /usr/bin, /usr/share i /usr/lib, koristi se poseban modul FUSE koji objedinjuje sadržaj svih instaliranih SquashFS slika u jednu cjelinu (na primjer, / ro/share directory omogućuje pristup dijeljenim poddirektorijima iz svih paketa).

Paketi u distri temeljno dostavljeno od rukovatelja koji se pozivaju tijekom instalacije (bez kuka ili okidača), a različite verzije paketa mogu koegzistirati jedna s drugom, tako da paralelna instalacija paketa postaje moguća. Predložena struktura ograničava performanse upravitelja paketa samo na mrežnu propusnost kroz koju se preuzimaju paketi. Stvarna instalacija ili ažuriranje paketa izvodi se atomski i ne zahtijeva dupliciranje sadržaja.

Konflikti prilikom instaliranja paketa su eliminirani budući da je svaki paket povezan sa svojim vlastitim imenikom, a sustav dopušta prisutnost različitih verzija jednog paketa (sadržaj direktorija s novijom revizijom paketa uključen je u union direktorije). Izrada paketa također je vrlo brza i ne zahtijeva instaliranje paketa u zasebnom okruženju za izradu (reprezentacije potrebnih ovisnosti iz /ro direktorija stvaraju se u okruženju za izgradnju).

Podržano tipične naredbe za upravljanje paketima, kao što su “distri install” i “distri update”, a umjesto informacijskih naredbi možete koristiti standardni uslužni program “ls” (na primjer, za pregled instaliranih paketa samo prikažite popis direktorija u “ /ro” hijerarhije, a kako biste saznali u kojem je paketu datoteka, pogledajte kamo vodi poveznica iz te datoteke).

Prototip distribucijskog kompleta predloženog za eksperimentiranje uključuje otprilike 1700 paketa i spreman slike instalacije s programom za instalaciju, prikladan i za instalaciju kao glavni OS i za rad u QEMU, Docker, Google Cloud i VirtualBox. Podržava dizanje s kriptirane particije diska i skup standardnih aplikacija za kreiranje radne površine temeljene na i3 upravitelju prozora (Google Chrome se nudi kao preglednik). Pod uvjetom potpuni alat za sastavljanje distribucije, pripremu i generiranje paketa, distribuciju paketa putem ogledala itd.

Izvor: opennet.ru

Dodajte komentar