Distri - distribucija za testiranje tehnologij hitrega upravljanja paketov

Michael Stapelberg, avtor upravljalnika oken i3wm z ploščicami in nekdanji aktivni razvijalec Debiana (vzdrževal približno 170 paketov), razvija eksperimentalna porazdelitev distri in upravitelja paketov z istim imenom. Projekt je postavljen kot raziskovanje možnih načinov za povečanje učinkovitosti sistemov za upravljanje paketov in uteleša nekaj novih idej za gradnjo distribucij. Koda upravitelja paketov je napisana v Go and distributer pod licenco BSD.

Ključna značilnost formata paketa distribucije je, da je paket dostavljen v obliki slik SquashFS namesto stisnjenih arhivov tar. Uporaba SquashFS, podobno kot formata AppImage in Snap, vam omogoča, da "namestite" paket, ne da bi ga morali razpakirati, kar prihrani prostor na disku, omogoča atomske spremembe in omogoča takojšen dostop do vsebine paketa. Hkrati pa paketi distri, tako kot v klasičnem formatu "deb", vsebujejo le posamezne komponente, ki so povezane z odvisnostmi z drugimi paketi (knjižnice niso podvojene v paketih, ampak so nameščene kot odvisnosti). Z drugimi besedami, distri poskuša združiti granularno strukturo paketov klasičnih distribucij, kot je Debian, z metodami dostave aplikacij v obliki nameščenih vsebnikov.

Vsak paket v distri je nameščen v svoj imenik v načinu samo za branje (npr. paket zsh je na voljo kot "/ro/zsh-amd64-5.6.2-3"), kar pozitivno vpliva na varnost in ščiti pred naključnimi ali zlonamernimi spremembami. Za oblikovanje hierarhije servisnih imenikov, kot so /usr/bin, /usr/share in /usr/lib, se uporablja poseben modul FUSE, ki združuje vsebino vseh nameščenih slik SquashFS v eno celoto (na primer / imenik ro/share omogoča dostop do podimenikov za skupno rabo iz vseh paketov).

Paketi v distri temeljno dostavljeno od upravljavcev, ki so bili klicani med namestitvijo (brez kavljev ali sprožilcev), različne različice paketa pa lahko obstajajo med seboj, tako da je možna vzporedna namestitev paketov. Predlagana struktura omejuje delovanje upravitelja paketov samo na prepustnost omrežja, prek katerega se prenašajo paketi. Dejanska namestitev ali posodobitev paketa se izvede atomsko in ne zahteva podvajanja vsebine.

Konflikti pri nameščanju paketov so odpravljeni, saj je vsak paket povezan s svojim imenikom in sistem omogoča prisotnost različnih verzij enega paketa (vsebina imenika z novejšo revizijo paketa je vključena v unijske imenike). Gradnja paketov je prav tako zelo hitra in ne zahteva namestitve paketov v ločenem gradbenem okolju (predstavitve potrebnih odvisnosti iz imenika /ro so ustvarjene v gradbenem okolju).

Podprto tipične ukaze za upravljanje paketov, kot sta »distri install« in »distri update«, namesto informacijskih ukazov pa lahko uporabite standardni pripomoček »ls« (na primer, za ogled nameščenih paketov preprosto prikažite seznam imenikov v » /ro«, če želite izvedeti, v kateri paket je datoteka, si oglejte, kam vodi povezava iz te datoteke).

Prototipni distribucijski komplet, predlagan za eksperimentiranje, vključuje približno 1700 paketov in pripravljena namestitvene slike z namestitvenim programom, primeren tako za namestitev kot glavni OS kot za delovanje v QEMU, Docker, Google Cloud in VirtualBox. Podpira zagon s šifrirane diskovne particije in nabor standardnih aplikacij za ustvarjanje namizja na podlagi upravljalnika oken i3 (Google Chrome je na voljo kot brskalnik). Zagotovljeno popoln nabor orodij za sestavljanje distribucije, pripravo in generiranje paketov, distribucijo paketov prek zrcalnikov itd.

Vir: opennet.ru

Dodaj komentar