Distri — distribúcia na testovanie technológií rýchleho spravovania balíkov

Michael Stapelberg, autor mozaikového správcu okien i3wm a v minulosti aktívny vývojár Debian (zabezpečoval okolo 170 balíkov), rozvíja experimentálnu distribúciu distri a rovnomenný správca balíkov. Projekt je prezentovaný ako výskum možných spôsobov zvyšovania výkonu systémov správy balíkov a realizuje niektoré nové nápady na stavbu distribúcií. Kód správcu balíkov je napísaný v jazyku Go a distribuovaný pod licenciou BSD.

Kľúčovou vlastnosťou navrhnutého formátu balíkov v distribúcii je dodávanie balíka vo forme obrazov SquashFS, namiesto komprimovaných tar-archívov. Použitie SquashFS, podobne ako formáty AppImage a Snap, umožňuje "pripojiť" balík bez potreby rozbalenia, čo šetrí diskový priestor, umožňuje atomárne zmeny a robí obsah balíka okamžite dostupným. Pri tom balíky distri, rovnako ako v klasickom formáte "deb", obsahujú len jednotlivé komponenty, ktoré sú závislé od iných balíkov (knižnice sa v balíkoch neduplicujú, ale inštalujú ako závislosti). Inými slovami, distri sa snaží skombinovať granularitu štruktúry balíkov klasických distribúcií, ako je Debian, s metódami dodávania aplikácií vo forme pripojiteľných kontajnerov.

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

Balíky v distri sú principiálne zbavené od volaných v průběhu instalace zpracovatelů (bez hooků a triggerů) a různé verze balíčku mohou koexistovat vedle sebe, což umožňuje paralelní instalaci balíčků. Navržená struktura omezuje výkon správce balíčků pouze na propustnost sítě, přes kterou jsou balíčky stahovány. Samotná instalace nebo aktualizace balíčku se provádí atomárně a nevyžaduje duplicitu obsahu.

Konflikty při instalaci balíčků jsou vyloučeny, protože každý balíček je vázán na svůj vlastní adresář, a v systému může existovat více verzí jednoho balíčku (v souhrnných adresářích se připojuje obsah adresáře s novější revizí balíčku). Sestavení balíčků také probíhá velmi rychle a nevyžaduje instalaci balíčků v samostatném sestavovacím prostředí (ve sestavovacím prostředí se vytvářejí pohledy na potřebné závislosti z adresáře /ro).

Podporovány standardní příkazy pro správu balíčků, jako jsou „distri install“ a „distri update“, a místo informačních příkazů lze použít standardní utilitu „ls“ (například pro zobrazení nainstalovaných balíčků stačí vypsat seznam adresářů v hierarchii „/ro“, a abychom zjistili, do kterého balíčku patří soubor, zkontrolovat, kam vede odkaz z tohoto souboru).

Navržený prototyp distribuce pro experimenty zahrnuje přibližně 1700 balíčků a hotové instalační obrazy s instalátorem, vhodné jak pro instalaci jako hlavní operační systém, tak pro spuštění v QEMU, Dockeru, Google Cloudu a VirtualBoxu. Podporuje se načítání z zašifrovaného diskového oddílu a sada standardních aplikací pro vytváření pracovního prostředí na základě správce oken i3 (jako prohlížeč se doporučuje Google Chrome). Je poskytován úplný nástroj pro sestavení distribuce, přípravu a vytváření balíčků, distribuci balíčků po zrcadlech atd.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster