Abaphuhlisi benkqubo esebenzayo , usebenzisa ulwimi lwe-Rust kunye ne-microkernel concept, umphathi wepakethe entsha . Iprojekthi iphuhlisa ifomathi yephakheji entsha, ilayibrari yolawulo lwephakheji, kunye nesixhobo somgca womyalelo wokudala kunye nokubuyisela iqoqo lefayile eqinisekisiweyo ye-cryptographically. Ikhowudi ye-pkgar ibhalwe kwiRust kunye phantsi kwelayisenisi ye-MIT.
Ifomathi ye-pkgar ayizenzi ngathi yeyomhlaba wonke kwaye iphuculwe kuthathelwa ingqalelo iinkcukacha zendlela yokusebenza yeRedox OS. Umphathi wephakheji uxhasa ukuqinisekiswa komthombo usebenzisa utyikityo lwedijithali kunye nolawulo lwentembeko. Iitshekhi zibalwa kusetyenziswa umsebenzi we-hash . Uqinisekiso olunxulumene nomsebenzi we pkgar unokufikelelwa ngaphandle kokugcina ugcino lwempahla, ngokulawula kuphela isahlulo seheader. Ngokukodwa, umqulu unefayile engasentla (.pkgar_head) kunye nefayile yedatha (.pkgar_data). Iphakheji epheleleyo yesishwankathelo esayiniweyo ngokufanelekileyo (.pkgar) inokufunyanwa ngokufakela ngokulula ifayile yeheader kwifayile yedatha (“cat example.pkgar_head example.pkgar_data > example.pkgar”).
Ifayile yeheader iqulethe i-checksums eyahlukileyo ye-header kunye nezakhiwo ezineeparamitha ezivela kwifayile yedatha, kunye nesiginitsha yedijithali yokuqinisekisa iphakheji. Ifayile yedatha ibandakanya uluhlu olulandelelanayo lwazo zonke iifayile kunye nabalawuli abanikwe kwiphakheji. Into nganye yedatha ilandelwa yisakhiwo esinemethadatha ebandakanya i-checksum yedatha ngokwayo, ubungakanani, amalungelo okufikelela, indlela ehambelanayo yefayile eya kufakwa, kunye ne-offset yeeparameters zedatha yedatha elandelayo. Ukuba ngexesha lenkqubo yohlaziyo iifayile zomntu ngamnye azitshintshanga kwaye i-checksum iyahambelana, ngoko ziyatsitywa kwaye azilayishwa.
Unokujonga ingqibelelo yomthombo ngokufumana kuphela ifayile yeheader, kunye nokuchaneka kwefayile yedatha ekhethiweyo ngokulayisha kuphela izakhiwo kunye neeparameters zale fayile kwaye uqinisekise ukuba zihambelana netshekhi eqinisekisiweyo kwifayile yentloko. Idatha ngokwayo inokujongwa emva kokuba ilayishiwe, isebenzisa i-checksum evela kwisakhiwo kunye neeparitha ezandulela idatha.
Imipakethe iyaphindaphindeka ngokwendalo, oku kuthetha ukuba ukwenza ipakethe kuluhlu oluthile kuya kuhlala kukhokelela kwiphakheji efanayo. Emva kokufakela, i-metadata kuphela igcinwa kwisistim, eyaneleyo ukwakha kwakhona ipakethe kwidatha efakiweyo (ukubunjwa kwepakethe, i-checksums, iindlela kunye namalungelo okufikelela aqulethwe kwi-metadata).
Iinjongo eziphambili zepkgar:
- I-atomicity-uhlaziyo lusetyenziswa ngokuzenzekelayo xa kunokwenzeka.
- Ukugcinwa kwetrafikhi - idatha idluliselwa kwinethiwekhi kuphela xa utshintsho lwe-hash (ngexesha lokuhlaziya, iifayile ezitshintshiweyo kuphela zikhutshelwa).
- Ukusebenza okuphezulu, i-cryptographic algorithms ekhawulezayo isetyenziswa (i-blake3 ixhasa ukusetyenzwa kwedatha ehambelanayo xa kubalwa i-hashes). Ukuba idatha esuka kwindawo yokugcina ayizange igcinwe ngaphambili, i-hash yedatha ekhutshelweyo ingabalwa ngexesha lokukhuphela.
- Minimalistic - Ngokungafaniyo nezinye iifomati, pkgar ibandakanya kuphela imetadata efunekayo ukukhupha ipakethe.
- Ukuzimela koluhlu lofakelo - iphakheji ingafakwa kulo naliphi na isilawuli, nguwuphi na umsebenzisi (umsebenzisi kufuneka abe nemvume yokubhala kulawulo olukhethiweyo).
- Ukhuseleko - Iipakethi zisoloko zingqinisiswa ngokufihlakeleyo, kwaye uqinisekiso lwenziwa phambi kokuba kwenziwe imisebenzi eyiyo kwiphakheji (isihloko silayishwa kuqala kwaye ukuba utyikityo lwedijithali luchanekile, idatha ilayishwa kulawulo lwexeshana, oluthi lusiwe kulawulo ekujoliswe kulo emva koko uqinisekiso).
umthombo: opennet.ru
