Het Redox OS-project heeft de pakketbeheerder pkgar gepresenteerd, geschreven in de programmeertaal Rust

Ontwikkelaars van het besturingssysteem Redox, geschreven met behulp van de programmeertaal Rust en het microkernelconcept, werd gepresenteerd nieuwe pakketbeheerder pkgar. Binnen het project wordt een nieuw pakketformaat ontwikkeld, een bibliotheek met functionaliteiten voor pakketbeheer en een commandoregeltool voor het creƫren en extraheren van cryptografisch gecontroleerde bestanden. De pkgar-code is geschreven in de programmeertaal Rust en wordt verspreid valt onder de MIT-licentie.

Het pkgar-formaat pretendeert niet universeel te zijn en is geoptimaliseerd voor het besturingssysteem Redox OS. De pakketbeheerder ondersteunt verificatie van de bron door middel van digitale handtekeningen en integriteitscontrole. Controlegetallen worden berekend met behulp van de hashfunctie blake3. De functionaliteit die verband houdt met verificatie in pkgar kan toegankelijk zijn zonder daadwerkelijk het pakketarchief op te slaan, door alleen met het headergedeelte te werken. Het pakket bestaat uit een headerbestand (.pkgar_head) en een gegevensbestand (.pkgar_data). Een correct ondertekend volledig samengevoegd pakket (.pkgar) kan worden verkregen door eenvoudig het headerbestand aan het gegevensbestand toe te voegen (ā€˜cat example.pkgar_head example.pkgar_data > example.pkgar’).

Het headerbestand bevat afzonderlijke controlegetallen voor de header en de structuren met parameters uit het gegevensbestand, evenals een digitale handtekening voor de controle van het pakket. Het gegevensbestand omvat een opeenvolgende opsomming van alle bestanden en mappen die in het pakket zitten. Voor elk gegevenselement wordt een structuur met metadata gepresenteerd, die het controlegetal voor de gegevens zelf, de grootte, de toegangsrechten, het relatieve pad van het te installeren bestand en de offset van de parameters van het volgende gegevenselement omvat. Als bij het updaten bepaalde bestanden niet zijn gewijzigd en het controlegetal overeenkomt, worden ze overgeslagen en niet gedownload.

De integriteit van de bron kan worden gecontroleerd door alleen het headerbestand te verkrijgen, en de correctheid van het geselecteerde gegevensbestand kan worden gecontroleerd door alleen de structuren met parameters van dat bestand te downloaden en ervoor te zorgen dat ze overeenkomen met het controlegetal dat in het headerbestand is gecertificeerd. De gegevens zelf kunnen pas na hun download worden gecontroleerd, met behulp van het controlegetal uit de structuur met parameters die vóór de gegevens komen.

Pakketten impliceren oorspronkelijk de mogelijkheid voor herhaalde samenstelling, wat betekent dat het creëren van een pakket voor een specifieke catalogus altijd leidt tot de vorming van een identiek pakket. Na installatie blijven alleen de metadata in het systeem behouden, die voldoende zijn voor het reconstrueren van het pakket uit de geïnstalleerde gegevens (de samenstelling van het pakket, controlegetallen, paden en toegangsrechten zijn in de metadata aanwezig).

De belangrijkste doelen van pkgar:

  • Atomiciteit – updates worden zoveel mogelijk automatisch toegepast.
  • Besparing op verkeer – gegevens worden alleen over het netwerk verzonden bij wijziging van de hash (bij een update worden alleen de gewijzigde bestanden gedownload).
  • Hoge prestaties, snelwerkende cryptografische algoritmen worden gebruikt (blake3 ondersteunt parallelle verwerking van gegevens bij het berekenen van de hash). Als de gegevens uit de repository niet eerder zijn gecached, kan de hash voor de te downloaden gegevens tijdens de download worden berekend.
  • Minimalisme – in tegenstelling tot andere formaten bevat pkgar alleen de metadata die nodig zijn voor het extraheren van het pakket.
  • Onafhankelijkheid van de installatiedirectory – het pakket kan in elke directory door elke gebruiker worden geĆÆnstalleerd (de gebruiker moet schrijfpermissie hebben voor de gekozen directory).
  • Veiligheid – pakketten worden altijd cryptografisch geverifieerd, en de verificatie wordt uitgevoerd voordat echte bewerkingen met het pakket worden uitgevoerd (eerst wordt de header gedownload en als de digitale handtekening correct is, worden de gegevens naar een tijdelijke map gedownload, die naar de doelmap wordt verplaatst na verificatie).

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster