Vanilla OS : première version finale disponible, une immuabilité à la demande

Tu sais ce qu'elle te dit la vanille ?
Logiciel 9 min
Vanilla OS : première version finale disponible, une immuabilité à la demande

Vanilla OS est une distribution Linux sortie il y a quelques jours en version finale. Elle se distingue par un concept « d’immuabilité à la demande » et par des choix technologiques qui la rendent singulière. Pourtant, elle se destinait à l’origine à une vision beaucoup plus simple.

Le projet Vanilla avait initialement une mission « simple » : fournir une distribution Linux basée sur Ubuntu et un environnement GNOME sans aucune modification, ce que l’on appellerait une version « stock ». Le nom reflétait le projet, « vanilla » étant un terme anglo-saxon utilisé pour désigner une version ou un produit d’origine. Les joueurs de World of Warcraft l’emploient par exemple pour désigner la mouture 1.0 du jeu, par opposition à l’état actuel, après neuf extensions.

L’équipe de développement a cependant introduit plusieurs idées dans le projet initial, lui faisant prendre une direction toute autre. Aujourd’hui, avec la première version finale, on est toujours sur une base Ubuntu (22.10) et un GNOME « stock », mais Vanilla OS présente surtout un système d’immuabilité à la demande, des mises à jour « atomiques », ainsi qu’un gestionnaire de paquets maison, nommé APX.

  • Vanilla OS
  • Vanilla OS
  • Vanilla OS
  • Vanilla OS
  • Vanilla OS
  • Vanilla OS
  • Vanilla OS
  • Vanilla OS
  • Vanilla OS

Immuabilité : qu’est-ce que c’est ?

Un système immuable n’a rien de nouveau. Le concept est connu : tout ou partie des fichiers système sont en lecture seule et sont donc protégés contre l’écriture. Un système immuable, par définition, ne peut pas changer, à moins d’en avoir expressément l’autorisation par l’utilisateur.

L’immuabilité représente un ajout important pour la sécurité générale du système, de nombreuses attaques s’appuyant sur la capacité à modifier un ou plusieurs fichiers importants. Le logiciel malveillant reste en mémoire, mais ne peut pas écrire sur le disque, l’empêchant de s’ancrer. Un redémarrage suffit alors à le faire disparaître.

Les systèmes immuables sont nombreux et existent depuis des années. Chacun a son approche et étend plus ou moins l’immuabilité. On peut citer Flatcar Linux, qui rend le dossier /usr en lecture seule, Bottlerocket d’AWS, qui ajoute /root et désactive SSH par défaut, ou encore Talos Linux. Ce dernier pousse loin le concept, puisque l’immuabilité est générale, SSH et l’accès console sont supprimés, et les modules du noyau ne peuvent être chargés que s’ils ont été signés avec la même clé (éphémère) que celle utilisée pour compiler le noyau. On peut également citer Fedora Silverblue, dont nous avions parlé en 2019.

L’immuabilité « à la demande »

Dans Vanilla, on retrouve notamment un système de double partition, nommées simplement A et B. Un mécanisme de mise à jour, appelé tout aussi simplement ABRoot, s’occupe des opérations. Lorsqu’un paquet doit être installé, il commence par vérifier quelle partition est utilisée comme root. Si A est à la manœuvre, ABRoot crée une surcouche dans laquelle il applique la modification. Si tout s’est bien passé, le résultat est fusionné avec B. Vanilla basculera alors sur cette dernière au prochain démarrage. Si une erreur survient, la surcouche est abandonnée, et avec elle toutes les modifications.

On peut savoir à tout moment quelle partition est active via la commande :

sudo abroot get present

On trouve ce type d’atomicité des mises à jour dans de nombreux systèmes immuables ou même mobiles. Au départ, les développeurs avaient créé l’outil almost pour une immuabilité à la demande, en se basant sur l’attribut immuable de chaque fichier. Une approche dont ils indiquent qu’elle fonctionne sur n’importe quel type de partition et de système de fichiers. ABRoot a pris la relève en étant plus complet. Ils indiquent cependant dans la FAQ qu’OSTree pourrait être envisagé à l’avenir.

Ce mécanisme est complété par un autre, appelé Vanilla System Operator, ou VSO. Il est chargé de surveiller le système pour appliquer les mises à jour au bon moment, selon trois critères : la charge processeur doit être minimale, la batterie pleine et la connexion stable.

Vanilla OS

APX, le gestionnaire de paquets maison

Dans Vanilla, durant l’installation, apx est au centre des opérations. Étant à la fois un gestionnaire de paquets et un sous-système, il crée pendant l’installation du système un conteneur pour l’ensemble des paquets importants du système et dont l’accès sera restreint. On ne peut donc pas toucher à la base technique du système, interdisant les fausses manipulations et une partie des scénarios d’attaque.

apx s’utilise dans les grandes lignes comme apt, que l’on ne peut pas utiliser de manière habituelle. Une mise à jour des dépôts se lancera ainsi par la commande « apx update », sans le sudo. Même chose pour l’installation d’une application, par exemple « apx install gimp ». La boutique Logiciels de GNOME est présente mais, comme toujours avec ce type d’interface, on s’en passe très bien.

Toute installation crée automatiquement un conteneur équivalent. Ces derniers apparaissent autant comme des applications dans la grille de GNOME que comme des sous-systèmes que l’on peut gérer depuis le Centre de contrôle de Vanilla OS.

L’un des gros avantages d’apx est qu’il est compatible avec les paquets d’autres distributions, toujours en se servant des conteneurs. Toujours depuis le Centre de contrôle, on peut ainsi activer les sous-systèmes d’Arch Linux, Fedora et Alpine, mais rien n’empêche d’en ajouter d’autres manuellement. Si apx gère donc son propre format dans les dépôts officiels de Vanilla, il est également compatible Flatpak et AppImage.

Ce fonctionnement entraine, comme on s’en doute, une consommation beaucoup plus rapide de l’espace disque. L’installation de la distribution réclame d’ailleurs un minimum de 50 Go sur une partition, là où les autres Linux en demandant souvent 20 ou 25. C’est le problème principal des conteneurs, comme nous l’avions souligné dans notre article dédié à AppImage, Snap et Flatpak.

Pour aller plus loin

De même, l’installation par conteneurs fait que toutes les applications ainsi ajoutées vont rejoindre la grille d’applications GNOME, même les utilitaires s’exécutant dans la console, comme htop. Pourquoi ? Parce qu’il s’agit justement d’un conteneur et qu’il n’est pas installé de manière habituelle.

Rien n’empêche de déclencher une installation classique en contournant apx, le système en donne la possibilité. La commande devient alors beaucoup plus verbeuse :

sudo abroot exec apt install htop

Cette fois, il faut sudo pour donner les droits administrateurs à la commande, car abroot exec fait entrer le shell dans un mode transactionnel. Autrement dit, on s’apprête à autoriser une transaction classique, interdite par défaut. C’est l’exemple donné par l’un des fondateurs de Vanilla OS, l’Italien Mirko Brombin.

Contrairement aux installations réalisées par apx, on reçoit cette fois un avertissement expliquant ce qui va se passer, et le danger inhérent à réaliser ce genre de transaction. Le message prévient également qu’il faudra redémarrer le système pour appliquer le changement et basculer entre les partitions, selon le principe expliqué précédemment dans l’article.

Pour rester dans le même exemple, on peut vérifier après le redémarrage avec la commande « sudo abroot get present » que l’on a bien basculé sur la deuxième partition. Après quoi, on pourra effectivement lancer la commande « htop » depuis la console, ce qui n’était pas possible avant.

Vanilla OSVanilla OS

Bon d’accord, et le reste ?

Pour le reste, on est sur une base Ubuntu 22.10 Kinetic Kudu, avec GNOME 43 et un noyau Linux 5.19 générique. À la différence toutefois du système de Canonical, il n’y a aucune modification introduite par cette dernière. Il n’y a donc pas de dock particulier, pas de thème Yaru, pas d’applications ou de réglages spécifiques. On gère les fichiers avec Nautilus, on navigue avec Web, etc. Il n’y a aucun autre navigateur présent et on ne trouve aucun client email.

Ce qui rend d’ailleurs l’image ISO assez légère, avec son petit 1,68 Go. L’installeur est maison et a été écrit en GTK4 avec libadwaita. Il remplace Calamares, même si l’équipe avait un temps envisagé de récupérer l’installeur de Clear Linux (jade) pour sa version finale. Cependant, cette image n’installe qu’un système basique, dans lequel il manque par exemple la quasi-totalité des applications GNOME.

  • Vanilla OS
  • Vanilla OS
  • Vanilla OS
  • Vanilla OS
  • Vanilla OS
  • Vanilla OS
  • Vanilla OS

Pas d’inquiétude, tout est prévu : au premier démarrage, un assistant de premier lancement vous aidera à choisir ce que vous souhaitez installer. On pourra donc rapatrier toute la suite GNOME, LibreOffice et d’autres éléments comme des codecs supplémentaires. Toutes ces installations se feront en ligne. Dans notre cas, malgré la présence d’une connexion fibre, l’étape a pris près de 15 min, ce qui nous a paru anormalement long, la faute sans doute à des dépôts un peu surchargés. S’il vous manque des applications, vous pouvez récupérer le reste dans Logiciels.

Pour être précis, il faudra chercher Softwares. La traduction française est assez aléatoire, avec un mélange anglais-français permanent. L’installation du système n’a par exemple pas détecté la langue. De même, après avoir sélectionné le français comme langue du clavier, il a fallu préciser à l’assistant que nous le voulions aussi pour l’interface.

Malgré ces quelques défauts de jeunesse, Vanilla OS pourrait bien se faire une place dans le cœur des personnes cherchant avant tout un système stable, sans fioritures et immuable. APX, ABRoot, les mises à jour atomiques ou encore l’assistant de configuration au premier lancement sont des arguments de poids, de quoi faire un premier essai, par exemple dans une machine virtuelle.

On reste néanmoins sur la première version officielle d’une distribution « inconnue », mais ayant bien sûr son dépôt sur GitHub. Même si les mécanismes présents doivent assurer en théorie une très bonne tenue dans le temps, il peut y avoir des bugs pouvant gâcher l’expérience ou des incompatibilités étranges avec le matériel, même si la base Ubuntu 22.10 limite les risques de ce côté. Précisons à ce propos que l’installation de Vanilla OS a très bien fonctionné dans VirtualBox 7, mais pas dans VMware Workstation 17, dans lequel les évènements souris étaient mal pris en compte.

Notez enfin que Vanilla OS possède un mécanisme intégré pour les mises à jour majeures du système. Quand la version 23.04 sortira – le système suivra les évolutions d’Ubuntu – un assistant graphique apparaîtra automatiquement à l’écran pour s’occuper de la transition.

Vous n'avez pas encore de notification

Page d'accueil
Options d'affichage
Abonné
Actualités
Abonné
Des thèmes sont disponibles :
Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !