Zhvilluesit e sistemit operativ , duke përdorur gjuhën Rust dhe konceptin e mikro-kernelit, menaxheri i ri i paketave . 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 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ë . 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
