Le projet postmarketOS a présenté Duranium, une version mise à jour de manière atomique pour smartphones.

Les développeurs du projet postmarketOS, qui développe une distribution Linux pour appareils mobiles, ont annoncé la création d'une version atomiquement mise à jour de la distribution. Cette nouvelle édition se développe sous le nom de Duranium et se distingue par la livraison du système comme un tout, sans séparation en paquets individuels. Il est noté que la nouvelle version correspond à l'idée que l'appareil doit simplement fonctionner, sans que l'utilisateur ait besoin de connaître l'existence d'un terminal ou de se familiariser avec les particularités du système.

L'environnement système dans la section /usr est monté en mode lecture seule en utilisant le système de fichiers EROFS et est vérifié à chaque démarrage par une signature numérique. La section /usr a une taille de 5 Go. Pour garantir l'intégrité des données dans la section /usr, dm-verity est utilisé, et si une modification du contenu est détectée, le démarrage est bloqué. Le hachage de vérification est intégré dans l'image unifiée UKI (Unified Kernel Image), qui combine un gestionnaire pour le chargement du noyau à partir de l'UEFI (UEFI boot stub), l'image du noyau Linux et l'environnement système initrd chargé en mémoire, utilisé pour l'initialisation initiale avant le montage du système de fichiers racine. L'image UKI est présentée sous la forme d'un fichier exécutable unique au format PE et est appelée par le chargeur UEFI.

Les autres répertoires, à l'exception de /usr, font partie de la partition racine, accessible en écriture et conservée entre les redémarrages et les mises à jour. Le contenu de la partition racine est obligatoirement chiffré à l'aide de LUKS2, ce qui impose des exigences accrues en matière de matériel. Le système de fichiers racine chiffré est créé lors du premier démarrage ou après un réinitialisation aux paramètres d'usine. Par défaut, une clé vide est créée, permettant le déverrouillage automatique de la partition chiffrée. Dans l'assistant de configuration initiale et dans le configurateur, l'utilisateur est invité à définir un mot de passe pour le déchiffrement.

Les paramètres par défaut sont stockés dans l'image système dans le répertoire /usr/share/factory/etc. Lors du premier démarrage, des liens symboliques vers tous les fichiers dans /usr/share/factory/etc sont créés dans le répertoire /etc, à l'exception des fichiers passwd, group, shadow, fstab, machine-id et hostname. Si des modifications des paramètres doivent être apportées lors de l'utilisation, le lien symbolique est remplacé par une copie du fichier.

Les mises à jour sont installées par remplacement de l'ensemble de l'image système. Deux partitions racines identiques sont créées sur le support — active et passive. La nouvelle mise à jour est installée dans la partition passive, sans impacter le fonctionnement de la partition active. Après vérification de la validité de la mise à jour installée et redémarrage réussi, les partitions échangent leurs rôles — la partition avec la mise à jour devient active, tandis que l'ancienne partition active passe en mode passif et attend la prochaine mise à jour. Si des problèmes de démarrage surviennent après la mise à jour, un retour automatique à l'ancienne version du système est effectué.

Cette approche simplifie considérablement le débogage et le diagnostic des problèmes, car les développeurs peuvent reproduire précisément l'état dans lequel l'échec s'est produit, sans avoir à reproduire la composition du système utilisateur au niveau des paquets individuels et à tenir compte des combinaisons de versions de paquets existantes. L'inconvénient est des exigences matérielles plus élevées, ce qui ne permettra pas d'utiliser Duranium sur tous les appareils pris en charge par postmarketOS.

Le contenu de l'image système Duranium est constitué d'une base de paquets uniforme avec postmarketOS, basée sur Alpine Linux, la bibliothèque C standard Musl et un ensemble d'outils BusyBox. Les versions de postmarketOS et Duranium sont presque identiques en termes de contenu, mais se distinguent par leurs méthodes de fourniture du système. Les composants systemd-sysupdate, systemd-repart et systemd-verity-setup sont utilisés pour créer, installer et mettre à jour les images système.

Des applications supplémentaires sont installées au format Flatpak ou à l'aide du gestionnaire de paquets Coldbrew. Coldbrew permet d'installer des paquets à partir des dépôts d'Alpine Linux dans le répertoire personnel de l'utilisateur. Lors de leur exécution, ces paquets sont isolés à l'aide de l'outil bubblewrap.

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