Le projet Redox OS a présenté le gestionnaire de paquets pkgar, écrit en Rust

Développeurs du systÚme d'exploitation Redox, écrit en utilisant le langage Rust et le concept de micro-noyau, a été présentée un nouveau gestionnaire de paquets pkgar. Dans le cadre du projet, un nouveau format de paquets, une bibliothÚque de fonctions de gestion des paquets et un outil en ligne de commande pour créer et extraire une collection de fichiers vérifiée cryptographiquement sont développés. Le code de pkgar est écrit en Rust et est distribué sous licence MIT.

Le format pkgar ne revendique pas d'universalitĂ© et est optimisĂ© pour les spĂ©cificitĂ©s du systĂšme d'exploitation Redox OS. Le gestionnaire de paquets prend en charge la vĂ©rification de la source par signature numĂ©rique et le contrĂŽle d'intĂ©gritĂ©. Les sommes de contrĂŽle sont calculĂ©es Ă  l'aide de la fonction de hachage blake3. La fonctionnalitĂ© liĂ©e Ă  la vĂ©rification de pkgar peut ĂȘtre accessible sans la sauvegarde rĂ©elle de l'archive du paquet, en manipulant uniquement la partie en-tĂȘte. En particulier, le paquet se compose d'un fichier en-tĂȘte (.pkgar_head) et d'un fichier de donnĂ©es (.pkgar_data). Un paquet complet correctement signĂ© (.pkgar) peut ĂȘtre obtenu en joignant simplement le fichier d'en-tĂȘte avec le fichier de donnĂ©es (« cat example.pkgar_head example.pkgar_data > example.pkgar »).

Le fichier d'en-tĂȘte contient des sommes de contrĂŽle distinctes pour l'en-tĂȘte et les structures de paramĂštres du fichier de donnĂ©es, ainsi qu'une signature numĂ©rique pour vĂ©rifier le paquet. Le fichier de donnĂ©es inclut une Ă©numĂ©ration sĂ©quentielle de tous les fichiers et rĂ©pertoires fournis dans le paquet. Avant chaque Ă©lĂ©ment de donnĂ©es, une structure de mĂ©tadonnĂ©es est fournie, incluant une somme de contrĂŽle pour les donnĂ©es mĂȘme, la taille, les droits d'accĂšs, le chemin relatif du fichier Ă  installer et le dĂ©calage des paramĂštres du prochain Ă©lĂ©ment de donnĂ©es. Si, lors d'une mise Ă  jour, des fichiers individuels n'ont pas changĂ© et que la somme de contrĂŽle correspond, ils sont ignorĂ©s et ne sont pas tĂ©lĂ©chargĂ©s.

La validitĂ© de la source peut ĂȘtre vĂ©rifiĂ©e en obtenant uniquement le fichier d'en-tĂȘte, tandis que la validitĂ© du fichier de donnĂ©es sĂ©lectionnĂ© peut ĂȘtre vĂ©rifiĂ©e en tĂ©lĂ©chargeant uniquement les structures de paramĂštres de ce fichier et en s'assurant de leur conformitĂ© avec la somme de contrĂŽle validĂ©e dans le fichier d'en-tĂȘte. Les donnĂ©es elles-mĂȘmes peuvent ĂȘtre vĂ©rifiĂ©es aprĂšs leur tĂ©lĂ©chargement, en utilisant la somme de contrĂŽle de la structure de paramĂštres qui prĂ©cĂšde les donnĂ©es.

Les paquets sont initialement conçus pour permettre des compilations répétititives, ce qui signifie que la création d'un paquet pour un répertoire spécifique aboutit toujours à la formation d'un paquet identique. AprÚs installation, seules les métadonnées sont conservées, suffisantes pour reconstruire le paquet à partir des données installées (la composition du paquet, les sommes de contrÎle, les chemins et les droits d'accÚs sont présentes dans les métadonnées).

Les principaux objectifs de pkgar :

  • AtomicitĂ© - les mises Ă  jour sont appliquĂ©es autant que possible automatiquement.
  • Économie de bande passante - les donnĂ©es ne sont transmises sur le rĂ©seau que lors du changement de hachage (seuls les fichiers modifiĂ©s sont tĂ©lĂ©chargĂ©s lors de la mise Ă  jour).
  • Haute performance, utilisant des algorithmes cryptographiques rapides (blake3 prend en charge le traitement parallĂšle des donnĂ©es lors du calcul du hachage). Si les donnĂ©es du rĂ©fĂ©rentiel n'ont pas Ă©tĂ© mises en cache auparavant, le hachage des donnĂ©es Ă  tĂ©lĂ©charger peut ĂȘtre calculĂ© pendant le tĂ©lĂ©chargement.
  • Minimalisme - contrairement Ă  d'autres formats, pkgar n'inclut que les mĂ©tadonnĂ©es nĂ©cessaires Ă  l'extraction du paquet.
  • IndĂ©pendance par rapport au rĂ©pertoire d'installation - le paquet peut ĂȘtre installĂ© dans n'importe quel rĂ©pertoire, par n'importe quel utilisateur (l'utilisateur doit avoir des droits d'Ă©criture dans le rĂ©pertoire choisi).
  • SĂ©curitĂ© - les paquets sont toujours vĂ©rifiĂ©s cryptographiquement, et la vĂ©rification est effectuĂ©e avant d'effectuer des opĂ©rations rĂ©elles sur le paquet (d'abord, l'en-tĂȘte est tĂ©lĂ©chargĂ© et si la signature numĂ©rique est correcte, les donnĂ©es sont tĂ©lĂ©chargĂ©es dans un rĂ©pertoire temporaire, qui sont dĂ©placĂ©es dans le rĂ©pertoire cible aprĂšs vĂ©rification).

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster