Projekti Redox OS prezantoi menaxherin e paketave pkgar, të shkruar në Rust

Zhvilluesit e sistemit operativ Redoks, shkruar duke përdorur gjuhën Rust dhe konceptin e mikrokernelit, prezantuar menaxher i ri i paketave pkgar. Projekti po zhvillon një format të ri pakete, një bibliotekë për menaxhimin e paketave dhe një paketë mjetesh të linjës komanduese për krijimin dhe marrjen e një koleksioni skedarësh të verifikuar kriptografikisht. Kodi pkgar është shkruar në Rust dhe shperndare nga nën licencën MIT.

Formati pkgar nuk pretendon të jetë universal dhe është optimizuar duke marrë parasysh specifikat e sistemit operativ Redox OS. Menaxheri i paketës mbështet verifikimin e burimit duke përdorur nënshkrimin dixhital dhe kontrollin e integritetit. Shumat e kontrollit llogariten duke përdorur një funksion hash blake3. Funksionaliteti i lidhur me verifikimin e pkgar mund të aksesohet pa ruajtur në fakt arkivin e paketës, duke manipuluar vetëm pjesën e kokës. Në veçanti, paketa përbëhet nga një skedar me kokë (.pkgar_head) dhe një skedar të dhënash (.pkgar_data). Një paketë përmbledhëse e plotë e nënshkruar saktë (.pkgar) mund të merret thjesht duke shtuar skedarin e kokës në skedarin e të dhënave (“cat example.pkgar_head example.pkgar_data > example.pkgar”).

Skedari i kokës përmban kontrolle të veçanta për kokën dhe strukturat me parametra nga skedari i të dhënave, si dhe një nënshkrim dixhital për të verifikuar paketën. Skedari i të dhënave përfshin një listë sekuenciale të të gjithë skedarëve dhe drejtorive të ofruara në paketë. Secilit element të dhënash i paraprin një strukturë me meta të dhëna që përfshin një shumë kontrolli për vetë të dhënat, madhësinë, të drejtat e aksesit, shtegun relativ të skedarit që instalohet dhe kompensimin e parametrave të elementit tjetër të të dhënave. Nëse gjatë procesit të përditësimit skedarët individualë nuk kanë ndryshuar dhe shuma e kontrollit përputhet, atëherë ato anashkalohen dhe nuk ngarkohen.

Mund të kontrolloni integritetin e burimit duke marrë vetëm skedarin e titullit dhe korrektësinë e skedarit të të dhënave të zgjedhura duke ngarkuar vetëm strukturat me parametrat e këtij skedari dhe duke u siguruar që ato të përputhen me kontrollin e certifikuar në skedarin e kokës. Vetë të dhënat mund të kontrollohen pasi të jenë ngarkuar, duke përdorur kontrollin nga struktura me parametrat që i paraprijnë të dhënave.

Paketat janë në thelb të përsëritshme, që do të thotë se krijimi i një pakete për një drejtori specifike do të rezultojë gjithmonë në një paketë identike. Pas instalimit, në sistem ruhen vetëm meta të dhënat, të cilat janë të mjaftueshme për të rindërtuar paketën nga të dhënat e instaluara (përbërja e paketës, shumat e kontrollit, shtigjet dhe të drejtat e aksesit gjenden në meta të dhëna).

Qëllimet kryesore të pkgar:

  • Atomiciteti - përditësimet zbatohen automatikisht kurdoherë që është e mundur.
  • Kursimet e trafikut - të dhënat transferohen përmes rrjetit vetëm kur hash ndryshon (gjatë përditësimit, shkarkohen vetëm skedarët e ndryshuar).
  • Përdoren algoritme kriptografike me performancë të lartë dhe të shpejtë (blake3 mbështet përpunimin paralel të të dhënave gjatë llogaritjes së hasheve). Nëse të dhënat nga depoja nuk janë ruajtur më parë, një hash për të dhënat e shkarkuara mund të llogaritet në kohën e shkarkimit.
  • Minimalistik - Ndryshe nga formatet e tjera, pkgar përfshin vetëm meta të dhënat e nevojshme për nxjerrjen e paketës.
  • Pavarësia e drejtorisë së instalimit - paketa mund të instalohet në çdo direktori, nga çdo përdorues (përdoruesi duhet të ketë leje shkrimi në drejtorinë e zgjedhur).
  • Siguria - Paketat verifikohen gjithmonë në mënyrë kriptografike dhe verifikimi kryhet përpara se të kryhen operacionet aktuale në paketë (titulli ngarkohet fillimisht dhe nëse nënshkrimi dixhital është i saktë, të dhënat ngarkohen në një direktori të përkohshme, e cila zhvendoset në drejtorinë e synuar pas verifikimi).

Burimi: opennet.ru

Shto një koment