Programeri operativnih sustava
Format pkgar ne pretendira biti univerzalan i optimiziran je uzimajući u obzir specifičnosti operativnog sustava Redox OS. Upravitelj paketa podržava provjeru izvora korištenjem digitalnog potpisa i kontrole integriteta. Kontrolni zbrojevi izračunavaju se pomoću hash funkcije
Datoteka zaglavlja sadrži zasebne kontrolne zbrojeve za zaglavlje i strukture s parametrima iz podatkovne datoteke, kao i digitalni potpis za provjeru paketa. Podatkovna datoteka uključuje sekvencijalni popis svih datoteka i direktorija koji se nalaze u paketu. Svakom podatkovnom elementu prethodi struktura s metapodacima koji uključuju kontrolni zbroj za same podatke, veličinu, prava pristupa, relativni put datoteke koja se instalira i pomak parametara sljedećeg podatkovnog elementa. Ako se tijekom procesa ažuriranja pojedinačne datoteke nisu promijenile i kontrolni zbroj odgovara, tada se one preskaču i ne učitavaju.
Možete provjeriti integritet izvora primanjem samo datoteke zaglavlja, a ispravnost odabrane podatkovne datoteke učitavanjem samo struktura s parametrima ove datoteke i osiguravanjem da su u skladu s kontrolnim zbrojem ovjerenim u datoteci zaglavlja. Sami podaci mogu se provjeriti nakon učitavanja pomoću kontrolnog zbroja iz strukture s parametrima koji prethode podacima.
Paketi su inherentno ponovljivi, što znači da će stvaranje paketa za određeni direktorij uvijek rezultirati identičnim paketom. Nakon instalacije u sustav se spremaju samo metapodaci koji su dovoljni za rekonstrukciju paketa iz instaliranih podataka (sastav paketa, kontrolni zbrojevi, staze i prava pristupa sadržani su u metapodacima).
Glavni ciljevi pkgar-a:
- Atomičnost—ažuriranja se primjenjuju automatski kad god je to moguće.
- Ušteda prometa - podaci se prenose preko mreže samo kada se promijeni hash (tijekom ažuriranja preuzimaju se samo promijenjene datoteke).
- Koriste se brzi kriptografski algoritmi visokih performansi (blake3 podržava paralelnu obradu podataka pri izračunavanju hashova). Ako podaci iz repozitorija nisu prethodno bili predmemorirani, hash za preuzete podatke može se izračunati u trenutku preuzimanja.
- Minimalistički - Za razliku od drugih formata, pkgar uključuje samo metapodatke potrebne za izdvajanje paketa.
- Neovisnost o instalacijskom direktoriju - paket se može instalirati u bilo koji direktorij, bilo koji korisnik (korisnik mora imati dopuštenje za pisanje u odabrani direktorij).
- Sigurnost - Paketi su uvijek kriptografski provjereni, a provjera se provodi prije izvođenja stvarnih operacija na paketu (prvo se učitava zaglavlje i ako je digitalni potpis ispravan, podaci se učitavaju u privremeni direktorij, koji se premješta u ciljni direktorij nakon verifikacija).
Izvor: opennet.ru