OperatsioonisĂŒsteemi arendajad , Rust keelt ja mikrokerne kontsepti kasutades, uus pakihaldur . Projekti raames arendatakse uut pakendiformaati, pakihalduri funktsioonide teeki ja kĂ€sureatööriistu krĂŒptograafiliselt kontrollitud failikogumi loomiseks ja ekstrakteerimiseks. pkgar kood on kirjutatud Rust keeles ja MIT litsentsi alusel.
Pkgar formaat ei pretendeeri universaalsusele ja on optimeeritud Redox OS operatsioonisĂŒsteemi spetsiifikat arvesse vĂ”ttes. Pakihaldur toetab allika kinnitamist digitaalsete allkirjadega ja terviklikkuse kontrollimist. Kontrollsummad arvutatakse hash-funktsiooni abil . Pakihalduri kinnitamise funktsionaalsust vĂ”ib kasutada ilma pakihalduse arhiivi tegeliku salvestamiseta, manipuleerides ainult pĂ€ist osa. EelkĂ”ige koosneb pakett pĂ€ise failist (.pkgar_head) ja andmefailist (.pkgar_data). Korrektselt allkirjastatud tĂ€ieliku pakendi (.pkgar) saab luua ĂŒhendades pĂ€isefaili andmefailiga (âcat example.pkgar_head example.pkgar_data > example.pkgarâ).
PÀisefail sisaldab eraldi kontrollsummasid pÀise ja andmefaili parameetrite struktuuride jaoks, samuti digitaalset allkirja pakendi kontrollimiseks. Andmefail sisaldab jÀrjestikku loetletud kÔiki faile ja kaustu, mis on pakendis. Iga andmeelementi eelneb metainformatsiooni struktuur, mis sisaldab kontrollsummat andmete jaoks, suurust, Ôigusi, paigaldatava faili suhtelist teed ja jÀrgmise andmeelemendi parameetrite nihke. Kui uuendamise kÀigus ei ole eraldi faile muudetud ja kontrollsumma klappib, siis need jÀetakse vahele ja ei laadita alla.
Allika terviklikkust saab kontrollida, kui saada ainult pÀisefail, ja valitud andmefaili Ôigsust, laadides alla vaid selle faili parameetrite struktuurid ja veendudes nende kokkulangevuses pÀisefailis allkirjastatud kontrollsummaga. Otseselt andmeid saab kontrollida pÀrast nende allalaadimist, kasutades kontrollsummat parameetrite struktuurist, mis kÀib andmete eel.
Paketid eeldavad algselt korduva ehituse vĂ”imalust, mis tĂ€hendab, et paketi loomine kindlasse katalooge viib alati identse paketi moodustamiseni. PĂ€rast sĂŒsteemis installimist jÀÀvad alles ainult metainformatsioon, mis on piisav paketi rekonstrueerimiseks installitud andmetest (paketi koostis, kontrollsummad, teed ja Ă”igused on metainformatsioonis).
Pkgar peamised eesmÀrgid:
- Atoomilisus â uuendused rakenduvad automaatselt, kui see on vĂ”imalik.
- Liikluse sÀÀstmine â andmeid edastatakse vĂ”rgus ainult siis, kui hashi muudatakse (uuendamisel laaditakse alla ainult muudetud failid).
- KĂ”rge jĂ”udlus, kasutatakse kiireid krĂŒptograafilisi algoritme (blake3 toetab andmete töötlemise paralleelset tĂ€itmist hash'i arvutamisel). Kui andmed hoidlast ei ole varem vahemĂ€lusse salvestatud, vĂ”ib laaditavate andmete hash'i arvutada laadimise ajal.
- Minimalism â erinevalt teistest formaatidest sisaldab pkgar ainult metainformatsiooni, mis on vajalik paketi eraldamiseks.
- Paigalduskausta sĂ”ltumatus â paketti saab installida ĂŒkskĂ”ik millisesse katalooge, ĂŒkskĂ”ik millise kasutaja poolt (kasutajal peab olema kirjutamisĂ”igus valitud katalooge).
- Turvalisus â pakette kontrollitakse alati krĂŒptograafiliselt, ning kontrollimine toimub enne tĂ”elisi toiminguid paketiga (kui alguses laaditakse alla pealkiri ja digitaalallkiri on Ă”ige, laaditakse ajutisse katalooge andmed, mis liiguvad sihtkatalooge pĂ€rast kontrollimist).
Allikas: opennet.ru
