Operacinių sistemų kūrėjai
Pkgar formatas nepretenduoja į universalumą ir yra optimizuotas atsižvelgiant į Redox OS operacinės sistemos specifiką. Paketų tvarkyklė palaiko šaltinio patikrinimą naudojant skaitmeninį parašą ir vientisumo valdymą. Kontrolinės sumos apskaičiuojamos naudojant maišos funkciją
Antraštės faile yra atskiros antraštės ir struktūrų kontrolinės sumos su parametrais iš duomenų failo, taip pat skaitmeninis parašas paketui patikrinti. Duomenų faile yra nuoseklus visų pakete pateiktų failų ir katalogų sąrašas. Prieš kiekvieną duomenų elementą pateikiama struktūra su metaduomenimis, į kurią įeina pačių duomenų kontrolinė suma, dydis, prieigos teisės, santykinis diegimo failo kelias ir kito duomenų elemento parametrų poslinkis. Jei atnaujinimo proceso metu atskiri failai nepasikeitė ir kontrolinė suma sutampa, jie praleidžiami ir neįkeliami.
Šaltinio vientisumą galite patikrinti gaudami tik antraštės failą, o pasirinkto duomenų failo teisingumą įkeldami tik struktūras su šio failo parametrais ir įsitikinę, kad jos atitinka antraštės faile sertifikuotą kontrolinę sumą. Patys duomenys gali būti patikrinti po to, kai jie buvo įkelti, naudojant kontrolinę sumą iš struktūros su parametrais prieš duomenis.
Paketai iš esmės kartojami, o tai reiškia, kad sukūrus paketą konkrečiam katalogui, visada bus identiškas paketas. Po įdiegimo sistemoje išsaugomi tik metaduomenys, kurių pakanka atkurti paketą iš įdiegtų duomenų (paketo sudėtis, kontrolinės sumos, keliai ir prieigos teisės yra metaduomenyse).
Pagrindiniai pkgar tikslai:
- Atomiškumas – atnaujinimai taikomi automatiškai, kai tik įmanoma.
- Srauto taupymas – duomenys per tinklą perduodami tik pasikeitus maišai (atnaujinant atsisiunčiami tik pakeisti failai).
- Naudojami didelio našumo, greiti kriptografiniai algoritmai (blake3 palaiko lygiagretų duomenų apdorojimą skaičiuojant maišas). Jei duomenys iš saugyklos anksčiau nebuvo saugomi talpykloje, atsisiuntimo metu galima apskaičiuoti atsisiųstų duomenų maišą.
- Minimalistinis – skirtingai nuo kitų formatų, pkgar apima tik metaduomenis, reikalingus paketui išgauti.
- Diegimo katalogo nepriklausomumas – paketą gali įdiegti bet kuriame kataloge, bet kuris vartotojas (vartotojas turi turėti rašymo teisę į pasirinktą katalogą).
- Saugumas – paketai visada tikrinami kriptografiškai, o patikrinimas atliekamas prieš atliekant faktines operacijas su paketu (pirmiausia įkeliama antraštė ir jei skaitmeninis parašas teisingas, duomenys įkeliami į laikiną katalogą, kuris po to perkeliamas į tikslinį katalogą patikrinimas).
Šaltinis: opennet.ru