Predstavili vývojári operačného systému Redox nedávno ktoré zaviedli nový správca balíkov pkgar, ktoré sa budú v rámci systému používať.
Pre tých, ktorí nevedia o Redoxe ktorý je to operačný systém že Jeho hlavným zameraním je, že pri jeho vývoji sa využíva jazyk Rust a koncept mikrojadra kde sa na úrovni jadra poskytuje iba interakcia medzi procesmi a správou zdrojov a všetky ďalšie funkcie sa prenášajú do knižníc, ktoré môžu používať jadro aj agenti používateľov.
V rámci projektu vyvíja sa nový formát balíka, knižnica s funkciami správy balíkov a nástroj príkazového riadku na vytváranie a extrakciu zbierky kryptograficky overených súborov.
Formát pkgar nemá byť univerzálny a je optimalizovaná s ohľadom na špecifiká operačného systému Redox OS.
Správca balíkov podporuje overenie zdroja digitálnym podpisom a kontrolou integrity. Kontrolné súčty sa počítajú pomocou hashovacej funkcie blake3. K funkcii overenia v pkgar je možné pristupovať bez toho, aby ste skutočne uložili súbor balíka a manipulovali iba s hlavičkovou časťou.
Najmä balík sa skladá z hlavičkového súboru (.pkgar_head) a dátový súbor (.pkgar_data). Správne podpísaný úplný paket (.pkgar) je možné získať jednoduchým pripojením hlavičkového súboru k údajovému súboru.
Hlavičkový súbor obsahuje samostatné kontrolné súčty hlavičkových a parametrizovaných štruktúr dátového súboru, ako aj digitálny podpis na overenie paketu.
Dátový súbor obsahuje postupný zoznam všetkých dodaných súborov a adresárov v balíku. Pred každým dátovým prvkom je štruktúra s metadátami, ktorá obsahuje kontrolný súčet samotných údajov, veľkosť, prístupové práva, relatívnu cestu k súboru, ktorý sa má nainštalovať, a offset parametrov nasledujúceho dátového prvku.
Ak sa počas procesu aktualizácie jednotlivé súbory nezmenili a kontrolný súčet sa zhoduje, potom sa preskočia a nestiahnu.
Integritu zdroja je možné overiť získaním iba hlavičkového súboru a správnosťou vybratého dátového súboru načítaním iba štruktúr s parametrami z tohto súboru a ubezpečením, že sa zhodujú s kontrolným súčtom skontrolovaným v hlavičkovom súbore.
Samotné údaje je možné priamo overiť po ich stiahnutí pomocou kontrolného súčtu štruktúry s parametrami, ktoré predchádzajú údajom.
Balíky spočiatku znamenajú možnosť opakovateľného zostavenia, čo znamená, že vytvorenie balíka pre konkrétny adresár vždy vedie k vytvoreniu identického balíka. Po inštalácii sa v systéme uložia iba metadáta, čo stačí na opätovné zostavenie balíka z nainštalovaných údajov (zloženie balíka, kontrolné súčty, cesty a prístupové práva sú k dispozícii v metadátach).
Hlavné ciele pkgar:
- Atómová: aktualizácie uplatniť vždy, keď je to možné automaticky.
- Úspora prevádzky: dáta sa prenášajú cez sieť iba vtedy, keď sa zmení hash (počas aktualizácie sa stiahnu iba aktualizované súbory).
- Zahrnuté sú vysoko výkonné rýchle kryptografické algoritmy (blake3 podporuje paralelizáciu spracovania údajov pri výpočte hodnoty hash). Ak údaje z úložiska ešte neboli uložené v medzipamäti, je možné pri načítaní vypočítať hash pre stiahnuté údaje.
- Minimalizmus: Na rozdiel od iných formátov obsahuje pkgar iba metadáta potrebné na rozbalenie balíka.
- Nezávislosť inštalačného adresára: Ktokoľvek môže nainštalovať balík do ľubovoľného adresára (používateľ musí mať právo zapisovať do vybraného adresára).
- zabezpečenia: pakety sú vždy kryptograficky overené a overenie sa vykonáva pred vykonaním skutočných operácií s paketmi (najskôr sa načíta hlavička a ak je digitálny podpis správny, dáta sa prenesú do dočasného adresára, ktorý sa po overení presunie do cieľového adresára).