Aux côtés de l’édition Workstation classique de Fedora grandit une autre variante, moins connue : Silverblue. Fondée sur le concept de système inaltérable et les conteneurs, ses concepteurs y voient le futur de la distribution.
Fedora est depuis longtemps le laboratoire de Red Hat pour tester l’ensemble des nouveautés logicielles qui l’intéressent. Tout ce qui a été éprouvé au cours des versions et assure un bon niveau de fiabilité peut être incorporé ensuite dans RHEL (Red Hat Enterprise Linux).
La distribution n’est cependant pas disponible qu’en une seule variante. Les plus connues, largement mises en avant sur le site officiel, sont Workstation et Server, dont les noms sont suffisamment parlants. Il en existe d’autres, dont Silverblue. Visuellement, il est difficile de les séparer. Sous le capot, c'est une autre paire de manches.
- Télécharger Fedora Silverblue 30 (ou 31 beta) 64 bits
- Fedora 31 : l'avance sur Wayland se confirme, multiples améliorations techniques
La philosophie derrière Silverblue
Avant d’aborder son fonctionnement particulier, il faut comprendre ce qu’est Silverblue, qui possède des bases techniques très différentes de Fedora, en dépit de son appartenance à la même famille.
Elle en reprend d’ailleurs peu ou prou les mêmes composants. L’idée générale est d’approcher l’architecture du système de manière plus moderne, pour obtenir des gains en fiabilité, sécurité et performances. Cette variante de la distribution repose donc sur deux concepts généraux : une base inaltérable et des conteneurs.
Cette base inaltérable (immutable en anglais) vient de la manière dont est géré le système proprement dit. Contrairement à la version classique de Fedora, Silverblue ne présente pas une collection paquets RPM s’installant les uns à la suite des autres. La base est en fait une image uniforme et cohérente copiée sur le disque de la machine pendant la phase d'installation (depuis une ISO), puis paramétrée en fonction du matériel et des choix de l’utilisateur.
Mais cela va plus loin, notamment dans la manière dont le système est mis à jour. L’application des rustines se fait ainsi sur une copie de l’image système. Ces modifications sont mises en attente jusqu’au redémarrage. La copie de l’image remplace alors la précédente et devient le système actif. Ces opérations sont effectuées par rpm-ostree
.
Gros avantage de la méthode : la fiabilité et la sécurité. L’image système est en effet en lecture seule et ne peut donc être modifiée. Si d’aventure le processus de mise à jour échouait, il n’y aurait pas d’impact sur Silverblue puisque les opérations s’effectuent sur une copie, à part. En outre, on peut facilement revenir à l’état antérieur de la machine. Inconvénient bien sûr : les modifications ne seront prises en compte qu’après un redémarrage.
Ce dernier point peut représenter un problème selon l’usage que l’on souhaite faire de Silverblue. Mais la distribution est surtout présentée comme visant les machines de travail, pas les serveurs. La distribution s’appelait d’ailleurs Atomic Workstation précédemment. Pour les serveurs focalisés sur les conteneurs logiciels, Fedora propose CoreOS après son rachat en 2018, reprenant globalement les mêmes concepts, mais avec une approche nettement plus minimaliste. Red Hat en propose une version commerciale, nommée Container Linux (anciennement CoreOS aussi).
Notez que ce fonctionnement « immuable » n’est ni spécifique à Silverblue, ni même une nouveauté. D’autres systèmes d’exploitation, particulièrement Android et Chrome OS, se servent de ce type d’architecture. Plus récemment, macOS Catalina s’y est mis aussi, comme mentionné dans notre dossier qui lui est consacré.
L’autre grand versant de Silverblue, ce sont les conteneurs. Il s'agit, dans les grandes lignes, d'une forme de virtualisation ramenée au niveau d’une application. Dans un paquet isolé du reste du système, on embarque tout ce dont elle a besoin. Pour s’exécuter, il suffit de s’assurer que l’infrastructure utilisée est cohérente entre le système hôte et l’application.
Les développeurs n’ont ainsi pas à se soucier des versions des bibliothèques et donc de nombreux problèmes de compatibilité. Les modifications générées par le conteneur restent circonscrites à son espace virtualisé et ne peuvent atteindre le système. En contrepartie d’un poids plus élevé (toutes les dépendances sont embarquées notamment), on obtient un fonctionnement général plus fiable.
Il y a certains bénéfices inhérents à cette méthode, comme par exemple l’exécution concurrentielle de plusieurs versions différentes d’un même logiciel, sans qu’elles créent d’interférences.
Présentation générale de Fedora Silverblue
On l’aura compris, cette édition particulière de Fedora n’a pas grand-chose à voir techniquement avec la distribution d’origine. Ses différences ne sauteront d’ailleurs même pas aux yeux à l’installation, tant la procédure est pratiquement identique. Visuellement, rien ne distingue les deux variantes.
Il faudra attendre d’arriver sur le bureau GNOME (les briques logicielles sont globalement les mêmes) et de creuser un peu pour s’apercevoir des changements opérés. On remarque d'ailleurs vite que les performances sont excellentes. Comme nous l’avions noté dans notre article consacré à Fedora 31, la réactivité générale avait fait un nouveau bond plus que sensible. Cette impression est renforcée dans Silverblue.
Mais pour comprendre ce qui vous attend réellement avec cette variante, il faut ouvrir l'application Logiciels. Le constat est rapide : il y a beaucoup moins d'éléments proposés que dans Fedora classique. Pourquoi ? Parce que le gestionnaire de paquets DNF est absent. L’utilisateur ne peut donc pas procéder à des installations ordinaires.
Et la question de l’installation se pose vite, car Silverblue ne fournit que le strict minimum. Un coup d'œil à la grille des applications disponible le fait aisément comprendre :
En clair, seul Firefox est fourni. Si vous ouvrez les paramètres, section Logiciels par défaut, le désert applicatif vous sera confirmé. Il faut donc aller dans Logiciels et installer ce qui manque… si vous le pouvez.
On y trouve en effet seulement les versions Flatpak (donc des conteneurs) des applications dont les développeurs se sont donné la peine d’en produire. Elles sont peu nombreuses dans la boutique. La partie « Audio et vidéo » n’en possède par exemple que deux : Cheese et Enregistreur de son. On pourra trouver Thunderbird dans la partie « Communications », mais « Bureautique » n’embarque même pas LibreOffice.
L’utilisateur est-il condamné pour autant à devoir s’en contenter ? Non, car du propre aveu de Fedora, il est conseillé de se rendre sur la boutique indépendante Flathub, dont la sélection est beaucoup plus importante.
Pour celles et ceux qui ne connaîtraient pas, il suffit de chercher une application sur le site, puis de cliquer sur « Install ». Un petit fichier de quelques ko est alors téléchargé. Une fois ouvert, il lance Logiciels sur la page correspondante, permettant alors de déclencher l’installation.
Une fois que l'application Logiciels aura été ouverte une fois depuis Flathub, le dépôt correspondant sera automatiquement ajouté dans ses paramètres. En clair, toutes les recherches suivantes pourront se faire depuis, sans avoir à passer à nouveau par le site de Flathub. La sélection devient du coup beaucoup plus importante.
Besoin de VLC ? Il s’y trouve, la source mentionnant bien son origine (dl.flathub.org). Des logiciels propriétaires sont également présents, comme le binaire de Visual Studio Code. Notez que les installations classiques peuvent quand même se faire, via la commande rpm-ostree
.
Elle n’est cependant pas recommandée, plutôt à garder s’il n’y a vraiment pas d’autre solution. Ce type d’installation va réclamer en effet une modification du système. Au vu du fonctionnement de Silverblue, la suite est donc prévisible : les changements ne seront pris en compte qu’après un redémarrage.
Créer ses propres conteneurs
Si vous aimez l’idée d’un système séparant par défaut sa base de tout l’applicatif, Silverblue peut d’emblée être une option, même si le système en tant que tel reste pour l’instant plus proche d’un travail en progression qu’une véritable version à mettre entre toutes les mains (nous y reviendrons).
Mais c’est bien avec les conteneurs que cette variante de Fedora prend tout son sens. Les flatpaks en sont déjà bien sûr, mais l’inclusion de Toolbox permet d’aller plus loin. Ce dernier est un outil pour créer des conteneurs et y insérer des applications via DNF. Une manière, en quelque sorte, de construire un type de flatpak personnalisé.
La commande toolbox create
va générer le premier conteneur. À la première exécution, Silverblue détectera qu’aucun environnement n’est présent pour servir de base au conteneur. Il proposera donc de télécharger l’image correspondante, ici Fedora 31. 500 Mo plus tard, le socle est prêt à l’emploi et le premier conteneur apparaît sous la forme « user@toolbox », pour bien montrer le changement de périmètre (il n’est plus dans localhost
).
Les conteneurs sont créés par podman
(compatible avec les images OCI de Docker) en mode rootless, donc sans aucun droit administrateur. L’utilisateur y retrouve son nom, ses permissions, l’accès à son dossier personnel et les principaux outils en ligne de commande, dont DNF. Ce dernier permet alors d’installer d’autres outils en ligne de commande ou même directement des applications.
Toolbox fournit des commandes pour créer autant de conteneurs que souhaité, les lister, entrer et sortir (exit
) de celui en cours ou encore les supprimer, y compris s’ils sont en cours de fonctionnement.
Une distribution pour l’instant surtout destinée aux développeurs
À quoi sert donc cette variante si particulière de Fedora ? Pour le commun des mortels, sans doute à rien… pour l’instant. Silverblue se destine actuellement aux développeurs ayant affaire aux conteneurs, Toolbox permettant de créer facilement un environnement temporaire pour orienter par exemple des tests de compatibilité pour un code particulier.
L’idée générale derrière Silverblue est de retrouver, dans un conteneur, l’environnement familier basé sur RPM, permettant au développeur de se lancer dans des opérations qui, en temps normal, pourrait mettre en danger l’intégrité du système. Il pourrait bien sûr créer une machine virtuelle et sauvegarder/restaurer des états avant et après les tests. Mais la création de conteneurs permet d’enchainer les opérations sans avoir à se soucier des états.
Quand les tests sont terminés, on sort simplement du conteneur.
L’étrange statut de Silverblue pour l’instant
Un système inaltérable peuplé uniquement de conteneurs, voilà la vision globale de Silverblue. Les développeurs de Fedora n’hésitent pas à annoncer sur la page officielle du projet que cette variante représente le futur de la distribution, même si personne ne se hasarde pour l’instant à donner de date.
Et pour cause, il reste de nombreuses questions en suspens, car ce fonctionnement particulier impose ses propres limites. Toutes les applications ne peuvent pas forcément fonctionner dans des conteneurs. Il y a plusieurs années par exemple, des éditeurs ont quitté le Mac App Store car Apple y imposait l’utilisation de la sandbox. Étaient notamment concernés des outils système ou de développement.
Le problème est pour l’instant en partie le même avec Silverblue. Des outils d’analyse réseau comme nmap
ou tcpdump
peuvent ne pas fonctionner, selon le paramétrage des conteneurs. Des soucis apparaitront également avec tous les applications qui auraient besoin, pour quelque raison que ce soit, d’accéder au matériel.
Exemple, dfu-util
, dont la mission est l’envoi de firmwares dans des périphériques USB. Même l’installation des polices, qui passe par RPM, réclame un redémarrage du système.
En l’état, Silverblue garde un peu son statut de « bête curieuse », dont le test vaut le coup d’œil. Le fonctionnement général embarque son lot de promesses très intéressantes sur la sécurité, la fiabilité et les performances. Mais l’équipe de développement le dit elle-même : « Il est possible que Silverblue finisse par remplacer la Workstation classique. Mais il reste une longue route à parcourir pour que Silverblue fournisse les mêmes fonctionnalités et expérience utilisateur que la Workstation ». Et de préciser que jusqu’à nouvel ordre, les deux moutures seront proposées en même temps.
On imagine facilement que les prochaines évolutions de Silverblue se concentreront sur la facilité d’utilisation au quotidien, pour que des opérations aussi courantes que l’ajout d’une police puissent se faire de manière transparente.
En attendant, tester Silverblue – voire l’utiliser – ne représente aucune difficulté. On peut facilement récupérer son image ISO (environ 2 Go) et s’en servir dans un client de virtualisation comme VirtualBox ou VMware Workstation. On peut également l’installer nativement, avec un processus Anaconda strictement identique côté utilisateur.