Redox OS projekts ieviesa pkgar pakotņu pārvaldnieku, kas rakstīts Rust valodā

Operētājsistēmu izstrādātāji Redokss, rakstīts izmantojot Rust valodu un mikrokodola koncepciju, uzrādīts jauns pakotņu pārvaldnieks pkgarProjekta ietvaros tiek izstrādāts jauns pakotnes formāts, bibliotēka ar pakotņu pārvaldības funkcijām un komandrindas rīki kriptogrāfiski pārbaudītu failu kolekciju izveidei un izvilkšanai. pkgar kods ir rakstīts Rust un izplata saskaņā ar MIT licenci.

pkgar formāts nav paredzēts kā universāls un ir optimizēts Redox OS operētājsistēmas specifikai. Pakotņu pārvaldnieks atbalsta avota verifikāciju, izmantojot digitālo parakstu un integritātes kontroli. Kontrolsummas tiek aprēķinātas, izmantojot jaucējfunkciju. blake3Ar verifikāciju saistītajai pkgar funkcionalitātei var piekļūt, faktiski nesaglabājot pakotnes arhīvu, manipulējot tikai ar galvenes daļu. Konkrēti, pakotne sastāv no galvenes faila (.pkgar_head) un datu faila (.pkgar_data). Pareizi parakstītu, pilnīgu pakotni (.pkgar) var iegūt, vienkārši pievienojot galvenes failu datu failam ("cat example.pkgar_head example.pkgar_data > example.pkgar").

Galvenes failā ir atsevišķas kontrolsummas datu faila galvenes un parametru struktūrām, kā arī digitālais paraksts pakotnes verifikācijai. Datu failā ir iekļauts secīgs visu pakotnē iekļauto failu un direktoriju saraksts. Katram datu elementam priekšā ir metadatu struktūra, kas ietver pašu datu kontrolsummu, to lielumu, piekļuves tiesības, instalējamā faila relatīvo ceļu un nākamā datu elementa parametru nobīdi. Ja atsevišķi faili atjaunināšanas procesa laikā nav mainījušies un to kontrolsummas sakrīt, tie tiek izlaisti un netiek lejupielādēti.

Avota integritāti var pārbaudīt, iegūstot tikai galvenes failu, un atlasītā datu faila pareizību var pārbaudīt, ielādējot tikai faila parametru struktūras un pārbaudot, vai tās atbilst galvenes failā norādītajai kontrolsummai. Pašus datus pēc ielādes var pārbaudīt, izmantojot kontrolsummu no parametru struktūras, kas ir pirms datiem.

Pakotnes ir izstrādātas tā, lai tās būtu atkārtojamas, kas nozīmē, ka, izveidojot pakotni noteiktam direktorijam, vienmēr tiek iegūta identiska pakotne. Pēc instalēšanas sistēmā tiek saglabāti tikai metadati, kas ir pietiekami, lai atjaunotu pakotni no instalētajiem datiem (metadatos ir ietverts pakotnes saturs, kontrolsummas, ceļi un piekļuves tiesības).

pkgar galvenie mērķi:

  • Atomitāte — atjauninājumi tiek piemēroti automātiski, kad vien tas ir iespējams.
  • Satiksmes ietaupījums — dati tīklā tiek pārsūtīti tikai tad, kad mainās jaucējkods (atjaunināšanas laikā tiek lejupielādēti tikai mainītie faili).
  • Augsta veiktspēja, izmantojot ātrus kriptogrāfiskos algoritmus (blake3 atbalsta paralēlu datu apstrādi jaucējkoda aprēķināšanas laikā). Ja repozitorija dati iepriekš nav kešatmiņā saglabāti, lejupielādēto datu jaucējkodu var aprēķināt lejupielādes laikā.
  • Minimālisms — atšķirībā no citiem formātiem, pkgar ietver tikai metadatus, kas nepieciešami pakotnes izvilkšanai.
  • Neatkarība no instalācijas direktorijas — pakotni var instalēt jebkurā direktorijā, jebkurš lietotājs (lietotājam ir jābūt rakstīšanas piekļuvei izvēlētajai direktorijai).
  • Drošība — paketes vienmēr tiek kriptogrāfiski pārbaudītas, un pārbaude tiek veikta pirms faktisko darbību veikšanas ar paketi (vispirms tiek lejupielādēta galvene, un, ja digitālais paraksts ir pareizs, dati tiek lejupielādēti pagaidu direktorijā, kas pēc pārbaudes tiek pārvietota uz mērķa direktoriju).

Avots: opennet.ru

Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster