Zhvilluesit e sistemit operativ , duke përdorur gjuhën Rust dhe konceptin e mikrojeshës, 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ë instrument i linjës së komandave për krijimin dhe nxjerrjen e një koleksioni skedash të verifikuara në mënyrë kriptografike. Kodi i pkgar është shkruar në gjuhën Rust dhe nën licencën MIT.
Formati pkgar nuk pretendohet për universialitet dhe është optimizuar duke marrë në konsideratë specifikat e sistemit operativ Redox OS. Menaxheri i paketave mbështet verifikimin e burimeve përmes nënshkrimit digjital dhe kontrollin e integritetit. Kontrollin e shumave të kontrollit e llogariten përmes funksionit të hashit . Funksionaliteti i lidhur me verifikimin e pkgar mund të jetë i disponueshëm pa ruajtjen faktike të arkivës së paketës, duke manipuluar vetëm me pjesën hyrëse. Në veçanti, paketa përbëhet nga një skedar hyrës (.pkgar_head) dhe një skedar me të dhëna (.pkgar_data). Një paketë e plotë e nënshkruar në mënyrë korrekte (.pkgar) mund të krijohet duke bashkuar skedarin e hyrjes me skedarin e të dhënave ("cat example.pkgar_head example.pkgar_data > example.pkgar").
Skedari i hyrjes pĂ«rmban shumĂ«n e kontrollit tĂ« veçantĂ« pĂ«r hyrjen dhe strukturat e parametrit nga skedari i tĂ« dhĂ«nave, si dhe njĂ« nĂ«nshkrim digjital pĂ«r verifikimin e paketĂ«s. Skedari me tĂ« dhĂ«na pĂ«rfshin njĂ« renditje tĂ« tĂ« gjitha skedave dhe ĐșаŃĐ°Đ»ĐŸĐłĂ«ve tĂ« dorĂ«zuar nĂ« paketĂ«. Para çdo elementi tĂ« dhĂ«nash jepet njĂ« strukturĂ« me metadata, e cila pĂ«rfshin shumĂ«n e kontrollit pĂ«r tĂ« dhĂ«nat vetĂ«, madhĂ«sinĂ«, tĂ« drejtat e aksesit, rrugĂ«n relative tĂ« skedarit qĂ« do tĂ« vendoset dhe zhvendosjen e parametrave pĂ«r elementin tjetĂ«r tĂ« dhĂ«nash. NĂ«se gjatĂ« procesit tĂ« pĂ«rditĂ«simit disa skeda nuk janĂ« ndryshuar dhe shuma e kontrollit pĂ«rputhet, atĂ«herĂ« ato injorohen dhe nuk ngarkohen.
Kontrolli i integritetit të burimit mund të bëhet duke marrë vetëm skedarin hyrës, ndërsa saktësia e skedarit të dhënave të zgjedhur mund të verifikohet duke ngarkuar vetëm strukturat me parametrat e këtij skedari dhe duke u siguruar se ato korrespondojnë me shumën e kontrollit, e cila është vulosur në skedarin hyrës. Të dhënat vetë mund të kontrollohen pas ngarkimit, duke përdorur shumën e kontrollit nga struktura e parametrave që vjen përpara të dhënave.
Paketet fillimisht parashikojnë mundësinë e rikrijimit, e cila nënkupton se krijimi i një pakete për një katalog të caktuar gjithmonë çon në formimin e një pakete identike. Pas instalimit, në sistem ruhen vetëm metadata, e cila është e mjaftueshme për rikonstruksionin e paketës nga të dhënat e instaluara (pjesa e paketës, kontrolla e shumave, rrugët dhe të drejtat e aksesit janë në metadata).
Qëllimet kryesore të pkgar:
- Atomariteti â pĂ«rditĂ«simet zbatohen automatikisht sa tĂ« jetĂ« e mundur.
- Kursimi i trafikut â tĂ« dhĂ«nat dĂ«rgohen pĂ«rmes rrjetit vetĂ«m kur ndryshon hash (nĂ« pĂ«rditĂ«sim ngarkohen vetĂ«m skedarĂ«t qĂ« kanĂ« ndryshuar).
- Performancë e lartë, përdoren algoritme kriptografike të shpejta (blake3 mbështet paralelizmin e përpunimit të të dhënave gjatë llogaritjes së hash-it). Nëse të dhënat nga depoja nuk janë ruajtur më parë, hash-i për të dhënat e ngarkuara mund të llogaritet gjatë ngarkimit.
- Minimalizmi â ndryshe nga formate tĂ« tjera, pkgar pĂ«rmban vetĂ«m metadata qĂ« janĂ« tĂ« nevojshme pĂ«r nxjerrjen e paketĂ«s.
- PavarĂ«sia nga katalogu i instalimit â paketa mund tĂ« instalohet nĂ« çdo katalog, nga çdokush (pĂ«rdoruesi duhet tĂ« ketĂ« tĂ« drejta shkrimi nĂ« katalogun e zgjedhur).
- Siguria â paketat gjithmonĂ« verifikohen pĂ«rmes kriptografisĂ«, dhe verifikimi bĂ«het pĂ«rpara se tĂ« kryhen operacionet reale me paketĂ«n (fillimisht ngarkohet kreu dhe nĂ«se firma digjitale Ă«shtĂ« e saktĂ«, tĂ« dhĂ«nat ngarkohen nĂ« njĂ« katalog pĂ«rkohĂ«sisht, tĂ« cilat lĂ«vizin nĂ« katalogun pĂ«rfundimtar pas verifikimit).
Burimi: opennet.ru
