De Redox OS Projet huet de pkgar Package Manager agefouert, geschriwwen a Rust

Betribssystem Entwéckler redox, geschriwwen mat der Rust Sprooch an dem Mikrokernel Konzept, presentéiert neie Package Manager pkgar. De Projet entwéckelt en neit Package Format, eng Package Management Bibliothéik, an e Kommandozeil Toolkit fir eng kryptographesch verifizéiert Sammlung vu Dateien ze kreéieren an zréckzezéien. De pkgar Code ass a Rust an verdeelt duerch ënner der MIT Lizenz.

De pkgar-Format mécht sech net als universell an ass optimiséiert andeems d'Spezifizitéiten vum Redox OS Betribssystem berücksichtegt ginn. De Package Manager ënnerstëtzt Quellverifikatioun mat enger digitaler Ënnerschrëft an Integritéitskontroll. Checksumme gi mat enger Hashfunktioun berechent blak 3. D'Verifizéierungsbezunnen Funktionalitéit vu pkgar kann zougänglech sinn ouni tatsächlech de Package Archiv ze späicheren, andeems Dir nëmmen den Header Deel manipuléiert. Besonnesch besteet de Package aus enger Headerdatei (.pkgar_head) an enger Datedatei (.pkgar_data). E korrekt ënnerschriwwene komplette Resumépaket (.pkgar) kann kritt ginn andeems Dir d'Headerdatei an d'Datedatei bäidréit ("cat example.pkgar_head example.pkgar_data> example.pkgar").

D'Headerdatei enthält separat Kontrollsumme fir den Header a Strukturen mat Parameteren aus der Datedatei, souwéi eng digital Ënnerschrëft fir de Package z'iwwerpréiwen. D'Datedatei enthält eng sequentiell Oplëschtung vun all Dateien an Verzeichnisser, déi am Package geliwwert ginn. All Dateelement gëtt virun enger Struktur mat Metadaten, déi e Kontrollsumme fir d'Donnéeën selwer, d'Gréisst, d'Zougangsrechter, de relativen Wee vun der Datei installéiert, an d'Offset vun de Parameteren vum nächsten Dateelement. Wann während dem Update Prozess individuell Dateien net geännert hunn an d'Kontrollsum passt, da gi se iwwersprangen an net gelueden.

Dir kënnt d'Integritéit vun der Quell iwwerpréiwen andeems Dir nëmmen d'Headerdatei kritt, an d'Korrektheet vun der gewielter Datedatei andeems Dir nëmmen d'Strukturen mat de Parameteren vun dëser Datei gelueden hutt a sécherzestellen datt se dem Checksum an der Headerdatei zertifizéiert sinn. D'Donnéeën selwer kënnen iwwerpréift ginn nodeems se gelueden sinn, mat der Kontrollsumme vun der Struktur mat Parameteren virun den Donnéeën.

Packagen sinn inherent widderhuelend, dat heescht datt e Package fir e spezifesche Verzeechnes erstellen ëmmer zu engem identesche Package resultéiert. No der Installatioun ginn nëmmen Metadaten am System gespäichert, wat genuch ass fir de Package aus den installéierten Donnéeën ze rekonstruéieren (d'Kompositioun vum Package, Kontrollsummen, Weeër an Zougangsrechter sinn an de Metadaten enthale).

Haaptziler vu pkgar:

  • Atomizitéit - Updates ginn automatesch ugewannt wann et méiglech ass.
  • Verkéier spueren - Daten ginn iwwer d'Netz transferéiert nëmmen wann den Hash ännert (während der Aktualiséierung ginn nëmmen geännert Dateien erofgelueden).
  • Héich Leeschtung, séier kryptographesch Algorithmen gi benotzt (blake3 ënnerstëtzt parallel Datenveraarbechtung beim Berechnung vun Hashes). Wann d'Donnéeën aus dem Repository net virdru cachéiert goufen, kann en Hash fir déi erofgeluede Donnéeën zur Downloadzäit berechent ginn.
  • Minimalistesch - Am Géigesaz zu anere Formater enthält pkgar nëmmen déi Metadaten déi néideg sinn fir de Package ze extrahieren.
  • Onofhängegkeet vum Installatiounsverzeechnes - de Package kann an all Verzeechnes installéiert ginn, vun all Benotzer (de Benotzer muss d'Schreiferlaabnes fir de gewielte Verzeechnes hunn).
  • Sécherheet - Pakete ginn ëmmer kryptographesch verifizéiert, an d'Verifizéierung gëtt gemaach ier tatsächlech Operatiounen um Package ausgefouert ginn (den Header gëtt als éischt gelueden a wann d'digital Ënnerschrëft richteg ass, ginn d'Donnéeën an e temporäre Verzeechnes gelueden, deen an den Zilverzeichnis geplënnert gëtt Verifizéierung).

Source: opennet.ru

Setzt e Commentaire