It Redox OS-projekt yntrodusearre de pkgar-pakketbehearder, skreaun yn Rust

Bestjoeringssysteem ûntwikkelers redox, skreaun it brûken fan de Rust-taal en it mikrokernel-konsept, presintearre nij pakket manager pkgar. It projekt ûntwikkelet in nij pakketformaat, in pakketbehearbibleteek, en in kommandorigel-ark foar it meitsjen en opheljen fan in kryptografysk ferifiearre samling bestannen. De pkgar koade is skreaun yn Rust en ferspraat troch ûnder de MIT-lisinsje.

It pkgar-formaat docht net foar om universeel te wêzen en is optimalisearre mei rekkening mei de spesifikaasjes fan it Redox OS-bestjoeringssysteem. De pakketbehearder stipet boarneferifikaasje mei in digitale hantekening en yntegriteitskontrôle. Checksums wurde berekkene mei in hash-funksje blak 3. De ferifikaasje-relatearre funksjonaliteit fan pkgar kin tagonklik wurde sûnder it pakket-argyf feitlik op te slaan, troch allinich it koptekstdiel te manipulearjen. Yn it bysûnder, it pakket bestiet út in koptekst triem (.pkgar_head) en in gegevens triem (.pkgar_data). In goed ûndertekene folslein gearfettingpakket (.pkgar) kin krigen wurde troch gewoan de kopteksttriem taheakje oan it gegevensbestân ("cat example.pkgar_head example.pkgar_data> example.pkgar").

It kopteksttriem befettet aparte kontrôlesummen foar de koptekst en struktueren mei parameters fan it gegevensbestân, lykas ek in digitale hantekening om it pakket te ferifiearjen. It gegevensbestân omfettet in opienfolgjende list fan alle bestannen en mappen dy't yn it pakket levere wurde. Elk gegevenselemint wurdt foarôfgien troch in struktuer mei metadata dy't in kontrôlesum omfettet foar de gegevens sels, grutte, tagongsrjochten, relatyf paad fan it bestân dat wurdt ynstalleare, en de offset fan 'e parameters fan it folgjende gegevenselemint. As tidens it fernijingsproses yndividuele bestannen net binne feroare en de kontrôlesum komt oerien, dan wurde se oerslein en net laden.

Jo kinne de yntegriteit fan 'e boarne kontrolearje troch allinich it koptekstbestân te ûntfangen, en de krektens fan it selekteare gegevensbestân troch allinich de struktueren te laden mei de parameters fan dit bestân en derfoar te soargjen dat se foldogge oan' e kontrôlesum sertifisearre yn 'e koptekst. De gegevens sels kinne wurde kontrolearre neidat se binne laden, mei help fan de kontrôlesum út de struktuer mei parameters foarôfgeand oan de gegevens.

Pakketten binne ynherent werheljeber, wat betsjuttet dat it meitsjen fan in pakket foar in spesifike map altyd sil resultearje yn in identike pakket. Nei ynstallaasje wurde allinich metadata bewarre yn it systeem, wat genôch is om it pakket te rekonstruearjen fan 'e ynstalleare gegevens (de gearstalling fan it pakket, kontrôlesummen, paden en tagongsrjochten binne befette yn' e metadata).

Haaddoelen fan pkgar:

  • Atomicity-updates wurde automatysk tapast wannear mooglik.
  • Ferkearsbesparring - gegevens wurde allinich oer it netwurk oerdroegen as de hash feroaret (by it bywurkjen wurde allinich feroare bestannen ynladen).
  • Hege prestaasjes, snelle kryptografyske algoritmen wurde brûkt (blake3 stipet parallelle gegevensferwurking by it berekkenjen fan hashes). As de gegevens fan it repository net earder yn 'e cache binne, kin in hash foar de ynladen gegevens wurde berekkene op' e downloadtiid.
  • Minimalistysk - Oars as oare formaten omfettet pkgar allinich de metadata dy't nedich binne om it pakket te ekstrahearjen.
  • Unôfhinklikens fan 'e ynstallaasjemap - it pakket kin yn elke map ynstalleare wurde, troch elke brûker (de brûker moat skriuwtastimming hawwe foar de selektearre map).
  • Feiligens - Pakketten wurde altyd kryptografysk ferifiearre, en ferifikaasje wurdt útfierd foardat werklike operaasjes wurde útfierd op it pakket (de koptekst wurdt earst laden en as de digitale hantekening korrekt is, wurde gegevens laden yn in tydlike map, dy't nei de doelmap ferpleatst wurdt. ferifikaasje).

Boarne: opennet.ru

Add a comment