Distri - distribucija za testiranje brzih tehnologija upravljanja paketima

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

Ključna karakteristika formata paketa distribucije je da se paket isporučuje u obliku SquashFS slika, umjesto kompresovanih tar arhiva. Korištenje SquashFS-a, slično AppImage i Snap formatima, omogućava vam da "montirate" paket bez potrebe da ga raspakujete, što štedi prostor na disku, dozvoljava atomske promjene i čini sadržaj paketa trenutno dostupnim. Istovremeno, distributivni paketi, kao iu klasičnom “deb” formatu, sadrže samo pojedinačne komponente povezane zavisnošću sa drugim paketima (biblioteke se ne dupliraju u paketima, već se instaliraju kao zavisnosti). Drugim riječima, distri pokušava kombinirati granularnu strukturu paketa klasičnih distribucija kao što je Debian s metodama isporuke aplikacija u obliku montiranih kontejnera.

Svaki paket u distri-u se montira u svoj direktorij u načinu samo za čitanje (na primjer, paket sa zsh je dostupan kao “/ro/zsh-amd64-5.6.2-3”), što ima pozitivan učinak 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 FUSE modul koji objedinjuje sadržaj svih instaliranih SquashFS slika u jednu cjelinu (na primjer, / ro/share direktorij pruža pristup poddirektorijumima za dijeljenje iz svih paketa).

Paketi u distri fundamentalno isporučeno od rukovalaca pozvanih tokom instalacije (bez kukica ili okidača), a različite verzije paketa mogu koegzistirati jedna s drugom, tako da je moguća paralelna instalacija paketa. Predložena struktura ograničava performanse menadžera paketa samo na mrežni protok kroz koji se paketi preuzimaju. Stvarna instalacija ili ažuriranje paketa se izvodi atomski i ne zahtijeva dupliciranje sadržaja.

Konflikti prilikom instaliranja paketa su eliminisani jer je svaki paket povezan sa sopstvenim direktorijumom i sistem dozvoljava prisustvo različitih verzija jednog paketa (sadržaj direktorijuma sa novijom revizijom paketa je uključen u direktorijume sindikata). Izrada paketa je također vrlo brza i ne zahtijeva instalaciju paketa u zasebnom okruženju gradnje (reprezentacije potrebnih ovisnosti iz /ro direktorija se kreiraju u okruženju izgradnje).

Podržano tipične naredbe za upravljanje paketima, kao što su “distri install” i “distri update”, a umjesto naredbi za informacije, možete koristiti standardni uslužni program “ls” (na primjer, za pregled instaliranih paketa, samo prikažite listu direktorija u “ /ro” hijerarhiju, a da biste saznali u koji paket se nalazi datoteka, pogledajte kuda vodi link iz ovog fajla).

Prototip distributivnog kompleta predložen za eksperimentisanje uključuje oko 1700 vreća i spreman slike instalacije sa instalaterom, pogodnim i za instalaciju kao glavni OS i za rad u QEMU, Docker, Google Cloud i VirtualBox. Podržava podizanje sistema sa šifrovane particije diska i skup standardnih aplikacija za kreiranje desktopa zasnovanog na i3 menadžeru prozora (Google Chrome se nudi kao pretraživač). Pod uslovom kompletan alat za sastavljanje distribucije, pripremu i generisanje paketa, distribuciju paketa preko ogledala itd.

izvor: opennet.ru

Dodajte komentar