Dans un long article technique, Ikey doherty (connu pour avoir dirigé des projets tels que Solus et contribué à Clear Linux) décrit la philosophie et l'architecture d'AerynOS, ce nouveau projet qui cherche à repenser la manière dont un système d'exploitation devrait se comporter à l'ère de l'infrastructure en tant que code.
Et loin d’être simplement une autre distribution dans l’écosystème Linux, AerynOS se présente comme une réinvention profonde du système d’exploitation moderne.
De la distribution à l'infrastructure
AerynOS est né d'une question provocant: « Et si le système d’exploitation se comportait comme une infrastructure moderne ? ». La réponse est une plateforme construite à partir de zéro, sans traîner les conventions héritées des distributions traditionnelles et au lieu de muter les systèmes existants, AerynOS part d'une base propre, tirant parti des expériences précédentes et prenant des décisions architecturales radicales pour assurer la cohérence, la réversibilité et la simplicité structurelle.
Ikey Doherty mentionne dans son article que L’une des décisions les plus marquantes est l’adoption de la chaîne d’outils LLVM au lieu du GNU traditionnel, en utilisant libc++ et compiler-rt par défaut. Ce choix n’est pas seulement dû à des préférences stylistiques, mais aussi à une stratégie. pour des diagnostics supérieurs et une plus grande portabilité. Malgré cette mise à niveau, AerynOS reste déterminé à utiliser glibc comme bibliothèque standard, la choisissant plutôt que musl pour ses performances supérieures sous des charges multithread et des applications exigeantes.
En plus de cela, il est mentionné qu'un L’un des concepts fondamentaux d’AerynOS est « l’apatridie »: Aucun package ne peut installer de fichiers en dehors de /usr. Cette démarcation stricte sépare l'espace utilisateur (/etc, /var) de l'espace système, éliminant les conflits de fusion et facilitant les mises à niveau propres. Cette idée, qui remonte à Clear Linux, vise à imposer des valeurs par défaut raisonnables et à éviter la complexité inutile que les systèmes plus flexibles introduisent souvent.
Mises à jour atomiques et réversibles
AerynOS utilise un système de gestion de paquets entièrement nouveau, appelé Moss, qui effectue des transactions atomiques. Chaque mise à jour crée une nouvelle arborescence /usr à l'aide de liens physiques provenant d'un magasin dédupliqué et est échangée avec l'arborescence actuelle de manière atomique à l'aide de renameat2(). Ce mécanisme garantit que les mises à jour sont soit entièrement terminées, soit pas appliquées du tout, évitant ainsi les états intermédiaires.
La gestion du démarrage rompt également avec la tradition. Grâce à des outils comme blsforme et disks-rs, AerynOS génère dynamiquement la ligne de commande du noyau en lisant directement les superblocs du système de fichiers, éliminant ainsi le besoin d'un root=. De plus, chaque cœur est lié à sa transaction spécifique, ce qui facilite les restaurations du système à partir du menu de démarrage et permet de reconstruire l'environnement de démarrage à partir de zéro en cas de perte d'ESP.
Le format .stone : une nouvelle façon de conditionner les logiciels
Un autre élément clé est le format .stone, un package binaire moderne Conçu avec une indépendance de version et une efficacité élevée. Chaque fichier .stone contient :
- Contenu dédupliqué des fichiers du package
- Un index de hachage (XXH128, avec des projets de migration vers Blake3)
- Une carte du système de fichiers cible
- Métadonnées saisies telles que le nom, la version, les capacités, etc.
Au lieu d'installer les fichiers directementle .stone sont stockés dans un Content Addressable Store (CAS) et sont compilés dans le cadre d'une transaction. Cette approche améliore non seulement les performances, mais permet également d’annuler facilement toutes les modifications.
Le système de gestion des paquets ne suit pas le modèle impératif traditionnel. Les développeurs estiment que les commandes d’installation directe « introduisent plus de bugs qu’elles n’en résolvent ». Au lieu de cela, chaque transaction crée un nouveau graphique système, ouvrant la voie à un futur modèle déclaratif similaire à Nix ou Gentoo, où l'état souhaité du système est décrit plutôt que d'exécuter des commandes de changement.
AerynOS est-il immuable ?
Bien qu’il soit souvent décrit comme un système immuable, les créateurs eux-mêmes précisent que ce n’est pas tout à fait vrai. Le système ne bloque pas l'accès en lecture seule, et tandis que les transactions remplacent l'arbre /usr, L’immuabilité complète n’a pas encore été mise en œuvre. L’objectif à long terme est d’y parvenir sans redémarrage, en exploitant des technologies telles que overlayfs et erofs.
Bien qu'il soit en phase alpha, AerynOS dispose déjà d'ISO disponibles, d'un support pour GNOME, d'une compatibilité avec Steam, NVIDIA, Flatpak et de vrais utilisateurs qui louent sa stabilité et ses performances. Le système fonctionne déjà suffisamment bien pour être testé dans des scénarios réels, même s’il est encore en évolution.
source: https://aerynos.com