Redox OS proiektuak pkgar pakete kudeatzailea aurkeztu zuen, Rust-en idatzia

Sistema eragileen garatzaileak Erredox, idatzia Rust hizkuntza eta mikrokernel kontzeptua erabiliz, aurkeztu pakete kudeatzaile berria pkgar. Proiektua pakete formatu berri bat garatzen ari da, paketeak kudeatzeko liburutegi bat eta komando lerroko tresna-kit bat kriptografikoki egiaztatutako fitxategien bilduma bat sortzeko eta berreskuratzeko. pkgar kodea Rust-en idatzita dago eta arabera banatuta MIT lizentziapean.

pkgar formatuak ez du unibertsala denik eta Redox OS sistema eragilearen berezitasunak kontuan hartuta optimizatuta dago. Pakete-kudeatzaileak iturburuaren egiaztapena onartzen du sinadura digitala eta osotasuna kontrola erabiliz. Checksumak hash funtzio bat erabiliz kalkulatzen dira blake3. pkgar-en egiaztapenarekin erlazionatutako funtzionaltasuna paketeen artxiboa benetan gorde gabe sar daiteke, goiburuko zatia soilik manipulatuz. Bereziki, paketea goiburuko fitxategi batek (.pkgar_head) eta datu fitxategi batek (.pkgar_data) osatzen dute. Behar bezala sinatuta dagoen laburpen pakete osoa (.pkgar) goiburuko fitxategia datu-fitxategiari erantsita besterik gabe lor daiteke ("cat example.pkgar_head example.pkgar_data > example.pkgar").

Goiburu-fitxategiak goiburuko eta datu-fitxategiko parametroak dituzten egituren kontrol-sumo bereiziak ditu, baita paketea egiaztatzeko sinadura digitala ere. Datu-fitxategiak paketean emandako fitxategi eta direktorio guztien zerrenda sekuentziala biltzen du. Datu-elementu bakoitzaren aurretik metadatuak dituen egitura bat dago, datuen beraren kontrol batura, tamaina, sarbide-eskubideak, instalatzen ari den fitxategiaren bide erlatiboa eta hurrengo datu-elementuaren parametroen desplazamendua barne hartzen dituena. Eguneratze-prozesuan fitxategi indibidualak aldatu ez badira eta checksum bat datorrela, saltatzen dira eta ez dira kargatzen.

Iturriaren osotasuna egiazta dezakezu goiburu-fitxategia soilik jasoz, eta hautatutako datu-fitxategiaren zuzentasuna fitxategi honen parametroekin egiturak soilik kargatuz eta goiburuko fitxategian egiaztatutako checksum-a betetzen dutela ziurtatuz. Datuak berak kargatu ondoren egiaztatu daitezke, datuen aurreko parametroak dituen egiturako checksum-a erabiliz.

Paketeak berez errepikagarriak dira, hau da, direktorio zehatz baterako pakete bat sortzeak pakete berdina izango du beti. Instalatu ondoren, metadatuak soilik gordetzen dira sisteman, eta hori nahikoa da instalatutako datuetatik paketea berreraikitzeko (paketearen osaera, checksumak, bideak eta sarbide-eskubideak metadatuetan daude).

pkgar-en helburu nagusiak:

  • Atomikotasuna: eguneraketak automatikoki aplikatzen dira ahal den guztietan.
  • Trafiko aurreztea - datuak sarean transferitzen dira hash-a aldatzen denean soilik (eguneratzean, aldatutako fitxategiak soilik deskargatzen dira).
  • Algoritmo kriptografiko azkarrak eta errendimendu handikoak erabiltzen dira (blake3-k datuen prozesamendu paraleloa onartzen du hashak kalkulatzerakoan). Biltegiko datuak aldez aurretik cachean gorde ez badira, deskargatutako datuen hash bat kalkula daiteke deskargatzeko garaian.
  • Minimalista - Beste formatu batzuetan ez bezala, pkgar-ek paketea ateratzeko beharrezkoak diren metadatuak bakarrik biltzen ditu.
  • Instalazio-direktorioaren independentzia - paketea edozein direktoriotan instala daiteke, edozein erabiltzailek (erabiltzaileak aukeratutako direktorioan idazteko baimena izan behar du).
  • Segurtasuna - Paketeak beti kriptografikoki egiaztatzen dira, eta egiaztapena paketean benetako eragiketak egin baino lehen egiten da (goiburua lehenik kargatzen da eta sinadura digitala zuzena bada, datuak behin-behineko direktorio batean kargatzen dira, helburuko direktoriora eraman ondoren. egiaztapena).

Iturria: opennet.ru

Gehitu iruzkin berria