Distri – distribúcia na testovanie technológií rýchlej správy balíkov

Michael Stapelberg, autor i3wm dlaždicového správcu okien a bývalý aktívny vývojár Debianu (udržiaval asi 170 balíkov), vyvíja experimentálna distribúcia distri a správcu balíkov s rovnakým názvom. Projekt je umiestnený ako prieskum možných spôsobov zvýšenia výkonnosti systémov správy balíkov a stelesňuje niektoré nové nápady na budovanie distribúcií. Kód správcu balíkov je napísaný v Go a distribuovaný pod licenciou BSD.

Kľúčovou vlastnosťou formátu balíka distribúcie je, že balík sa dodáva vo forme obrazov SquashFS namiesto komprimovaných archívov tar. Použitie SquashFS, podobne ako formáty AppImage a Snap, vám umožňuje „namontovať“ balík bez toho, aby ste ho museli rozbaliť, čo šetrí miesto na disku, umožňuje atomické zmeny a obsah balíka je okamžite dostupný. Zároveň distri balíčky, ako v klasickom formáte „deb“, obsahujú iba jednotlivé komponenty prepojené závislosťami s inými balíčkami (knižnice nie sú duplikované v balíčkoch, ale sú inštalované ako závislosti). Inými slovami, distri sa snaží skombinovať granulárnu štruktúru balíkov klasických distribúcií, ako je Debian, s metódami doručovania aplikácií vo forme namontovaných kontajnerov.

Každý balík v distri je pripojený do vlastného adresára v režime iba na čítanie (napríklad balík so zsh je dostupný ako „/ro/zsh-amd64-5.6.2-3“), čo má pozitívny vplyv na bezpečnosť a chráni pred náhodnými alebo zlomyseľnými zmenami. Na vytvorenie hierarchie adresárov služieb, ako sú /usr/bin, /usr/share a /usr/lib, sa používa špeciálny modul FUSE, ktorý spája obsah všetkých nainštalovaných obrazov SquashFS do jedného celku (napríklad / ro/share adresár poskytuje prístup k zdieľaným podadresárom zo všetkých balíkov).

balíčky v okrese zásadne doručené z obslužných programov volaných počas inštalácie (žiadne háčiky alebo spúšťače) a rôzne verzie balíka môžu existovať vedľa seba, takže je možná paralelná inštalácia balíkov. Navrhovaná štruktúra obmedzuje výkon správcu balíkov iba na priepustnosť siete, cez ktorú sa balíky sťahujú. Samotná inštalácia alebo aktualizácia balíka sa vykonáva atomicky a nevyžaduje duplikáciu obsahu.

Konflikty pri inštalácii balíkov sú eliminované, pretože každý balík je spojený s vlastným adresárom a systém umožňuje prítomnosť rôznych verzií jedného balíka (obsah adresára s novšou revíziou balíka je zahrnutý v zjednocovacích adresároch). Vytváranie balíkov je tiež veľmi rýchle a nevyžaduje inštaláciu balíkov v samostatnom prostredí zostavy (reprezentácie potrebných závislostí z adresára /ro sa vytvárajú v prostredí zostavy).

Podporované typické príkazy na správu balíkov, ako napríklad „distri install“ a „distri update“ a namiesto informačných príkazov môžete použiť štandardný nástroj „ls“ (napríklad na zobrazenie nainštalovaných balíkov stačí zobraziť zoznam adresárov v „ /ro” a ak chcete zistiť, v ktorom balíku je súbor zahrnutý, pozrite sa, kam vedie odkaz z tohto súboru).

Prototyp distribučnej súpravy navrhnutý na experimentovanie obsahuje približne 1700 balíkov a pripravený inštalačné obrázky s inštalátorom, vhodný ako na inštaláciu ako hlavný OS, tak aj na spustenie v QEMU, Docker, Google Cloud a VirtualBox. Podporuje bootovanie zo zašifrovaného diskového oddielu a sadu štandardných aplikácií na vytváranie pracovnej plochy na báze správcu okien i3 (ako prehliadač je ponúkaný Google Chrome). Za predpokladu kompletná sada nástrojov na zostavenie distribúcie, prípravu a generovanie balíkov, distribúciu balíkov cez zrkadlá atď.

Zdroj: opennet.ru

Pridať komentár