Mradi wa Redox OS ulianzisha meneja wa kifurushi cha pkgar, kilichoandikwa kwa Rust

Watengenezaji wa mfumo wa uendeshaji redox, iliyoandikwa kwa kutumia lugha ya kutu na dhana ndogo ndogo, imewasilishwa meneja mpya wa kifurushi pkgar. Mradi unatengeneza muundo mpya wa kifurushi, maktaba ya usimamizi wa kifurushi, na zana ya mstari wa amri ya kuunda na kurejesha mkusanyiko wa faili zilizothibitishwa kwa njia fiche. Nambari ya pkgar imeandikwa katika Rust na kusambazwa na chini ya leseni ya MIT.

Umbizo la pkgar halijifanya kuwa la ulimwengu wote na limeboreshwa kwa kuzingatia maalum ya mfumo wa uendeshaji wa Redox OS. Kidhibiti cha kifurushi kinaauni uthibitishaji wa chanzo kwa kutumia sahihi ya dijiti na udhibiti wa uadilifu. Cheki hukokotolewa kwa kutumia kipengele cha kukokotoa cha heshi 3 Mwijusi. Utendaji unaohusiana na uthibitishaji wa pkgar unaweza kufikiwa bila kuhifadhi kumbukumbu ya kifurushi, kwa kudhibiti sehemu ya kichwa pekee. Hasa, kifurushi kinajumuisha faili ya kichwa (.pkgar_head) na faili ya data (.pkgar_data). Kifurushi kamili cha muhtasari kilichotiwa sahihi (.pkgar) kinaweza kupatikana kwa kuambatisha faili ya kichwa kwenye faili ya data ("cat example.pkgar_head example.pkgar_data > example.pkgar").

Faili ya kichwa ina hundi tofauti za kichwa na miundo yenye vigezo kutoka kwa faili ya data, pamoja na saini ya digital ili kuthibitisha kifurushi. Faili ya data inajumuisha uorodheshaji mfuatano wa faili na saraka zote zinazotolewa kwenye kifurushi. Kila kipengele cha data hutanguliwa na muundo wenye metadata unaojumuisha hundi ya data yenyewe, ukubwa, haki za ufikiaji, njia ya jamaa ya faili inayosakinishwa, na urekebishaji wa vigezo vya kipengele kinachofuata cha data. Ikiwa wakati wa mchakato wa sasisho faili za mtu binafsi hazijabadilika na checksum inafanana, basi zinarukwa na hazijapakiwa.

Unaweza kuangalia uadilifu wa chanzo kwa kupokea tu faili ya kichwa, na usahihi wa faili ya data iliyochaguliwa kwa kupakia tu miundo na vigezo vya faili hii na kuhakikisha kwamba wanazingatia hundi iliyoidhinishwa kwenye faili ya kichwa. Data yenyewe inaweza kuangaliwa baada ya kupakiwa, kwa kutumia checksum kutoka kwa muundo na vigezo vinavyotangulia data.

Vifurushi vinaweza kurudiwa kwa asili, ikimaanisha kuwa kuunda kifurushi cha saraka maalum kila wakati kutasababisha kifurushi kinachofanana. Baada ya ufungaji, metadata pekee imehifadhiwa kwenye mfumo, ambayo inatosha kujenga upya mfuko kutoka kwa data iliyowekwa (muundo wa mfuko, checksums, njia na haki za upatikanaji zilizomo kwenye metadata).

Malengo makuu ya pkgar:

  • Atomicity-sasisho hutumika kiotomatiki inapowezekana.
  • Uhifadhi wa trafiki - data huhamishwa kwenye mtandao tu wakati heshi inabadilika (wakati wa uppdatering, faili zilizobadilishwa tu zinapakuliwa).
  • Utendaji wa hali ya juu, algoriti za kriptografia za haraka hutumiwa (blake3 inasaidia uchakataji wa data sambamba wakati wa kukokotoa heshi). Ikiwa data kutoka kwenye hazina hapo awali haijahifadhiwa, heshi ya data iliyopakuliwa inaweza kuhesabiwa wakati wa kupakua.
  • Minimalistic - Tofauti na fomati zingine, pkgar inajumuisha tu metadata inayohitajika kutoa kifurushi.
  • Uhuru wa saraka ya usakinishaji - kifurushi kinaweza kusanikishwa kwenye saraka yoyote, na mtumiaji yeyote (mtumiaji lazima awe na ruhusa ya kuandika kwenye saraka iliyochaguliwa).
  • Usalama - Vifurushi huthibitishwa kila mara kwa njia fiche, na uthibitishaji unafanywa kabla ya shughuli halisi kufanywa kwenye kifurushi (kichwa hupakiwa kwanza na ikiwa saini ya dijiti ni sahihi, data hupakiwa kwenye saraka ya muda, ambayo huhamishiwa kwenye saraka lengwa baada ya hapo. uthibitisho).

Chanzo: opennet.ru

Kuongeza maoni