Projekti Redox OS paraqiti menaxherin e paketave pkgar, i shkruar në gjuhën Rust

Zhvilluesit e sistemit operativ Redox, shkruar duke përdorur gjuhën Rust dhe konceptin e mikro-kernelit, paraqitën menaxheri i ri i paketave pkgar. Në kuadër të projektit po zhvillohet një format i ri paketash, një bibliotekë me funksione për menaxhimin e paketave dhe një mjet komandash për krijimin dhe nxjerrjen e një koleksioni skedarësh të verifikuar nga kriptografia. Kodi i pkgar është shkruar në gjuhën Rust dhe distribuohet në përputhje me licencën MIT.

formati pkgar nuk pretendon për universialitet dhe është optimizuar me konsideratë për specifikën e sistemit operativ Redox OS. Menaxheri i paketave mbështet verifikimin e burimit përmes nënshkrimit digjital dhe kontrollin e integritetit. Kontrollin e shifrave e llogarit me ndihmën e funksionit të thjeshtësisë blake3. Funksionaliteti i lidhur me verifikimin e pkgar mund të jetë i aksesueshëm pa ruajtur në fakt arkivin e paketës, duke manipuluar vetëm pjesën e titullit. Në veçanti, paketa përbëhet nga një skedë titulli (.pkgar_head) dhe një skedë me të dhëna (.pkgar_data). Një paketë përmbledhëse e nënshkruar siç duhet (.pkgar) mund të merret duke bashkuar thjesht skedën e titullit me skedën me të dhëna ("cat example.pkgar_head example.pkgar_data > example.pkgar").

Skedhja e skedarit përmban checksum të veçanta për skedhën dhe strukturat me parametrat nga skedari i të dhënave, si dhe një nënshkrim digjital për verifikimin e paketës. Skedari me të dhëna përmban një listë të vazhdueshme të të gjithave skedarëve dhe katalogëve të dorëzuar në paketë. Para secilit element të të dhënave paraqitet një strukturë me metadata, të cilat përfshijnë checksum për të dhënat vetë, madhësinë, të drejtat e aksesit, rrugën relative të skedarit të instaluar dhe offset-in e parametrave të elementit të ardhshëm të të dhënave. Nëse gjatë procesit të azhurnimit skedarët e veçantë nuk janë ndryshuar dhe checksum përputhet, ato kalohen dhe nuk shkarkohen.

Kontrolli i integritetit të burimit mund të bëhet duke marrë vetëm skedën e titullit, dhe saktësia e skedës së dhënave të zgjedhur mund të verifikohet duke ngarkuar vetëm strukturat me parametrat e kësaj skede dhe duke siguruar që ato përputhen me shumën e kontrollit të nënshkruar në skedën e titullit. Të dhënat vetë mund të kontrollohen pas ngarkimit të tyre, duke përdorur shumën e kontrollit nga struktura e parametrave që vjen para të dhënave.

Paketa fillimisht parashikon mundësinë e ndërtimit të përsëritur, duke përfshirë se krijimi i një pakete për një katalog të caktuar gjithmonë çon në formimin e një pakete identike. Pas instalimit në sistem mbahen vetëm metadatat, që janë të mjaftueshme për të rikonstruktuar paketën nga të dhënat e instaluara (përbërja e paketës, kontrollet, rrugët dhe të drejtat e aksesit gjenden në metadatat).

Qëllimet kryesore të pkgar:

  • AtomikĂ«sia — pĂ«rditĂ«simet aplikohet pĂ«r sa kohĂ« qĂ« Ă«shtĂ« e mundur automatikisht.
  • Kursimi i trafikut — tĂ« dhĂ«nat dĂ«rgohen nĂ« rrjet vetĂ«m kur ndryshon hash-i (kur pĂ«rditĂ«sohen, ngarkohen vetĂ«m skedat qĂ« kanĂ« ndryshuar).
  • PerformancĂ« e lartĂ«, pĂ«rdoren algoritme tĂ« shpejta kriptografike (blake3 mbĂ«shtet paralelizimin e pĂ«rpunimit tĂ« tĂ« dhĂ«nave gjatĂ« llogaritjes sĂ« hash-it). NĂ«se tĂ« dhĂ«nat nga depoja nuk ishin mĂ« parĂ« tĂ« mbĂ«shtjella, hash-i pĂ«r tĂ« dhĂ«nat qĂ« po ngarkohen mund tĂ« llogaritet gjatĂ« ngarkimit.
  • Minimalizmi — ndryshe nga formate tĂ« tjera, pkgar pĂ«rfshin vetĂ«m metadatet e nevojshme pĂ«r nxjerrjen e paketĂ«s.
  • PavarĂ«sia nga direktori e instalimit — paketa mund tĂ« instalohet nĂ« cilĂ«ndo direktori, nga çdokush (pĂ«rdoruesi duhet tĂ« ketĂ« tĂ« drejta pĂ«r shkrim nĂ« direktorinĂ« e zgjedhur).
  • Siguria — paketat gjithmonĂ« verifikohen nĂ« mĂ«nyrĂ« kriptografike, dhe verifikimi kryhet para kryerjes sĂ« operacioneve reale me paketĂ«n (sĂ« pari ngarkohet titulli dhe nĂ«se nĂ«nshkrimi digjital Ă«shtĂ« i saktĂ«, tĂ« dhĂ«nat ngarkohen nĂ« njĂ« direktori pĂ«rkohshme, qĂ« pastaj zhvendosen nĂ« direktorinĂ« e synuar pas verifikimit).

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster