11 points par GN⁺ 2025-04-23 | 2 commentaires | Partager sur WhatsApp
  • Grâce à bootc et aux conteneurs amorçables, il devient possible de modifier les thèmes d’une manière plus sûre et plus facile à gérer
  • Comme /usr peut être défini comme un conteneur et faire l’objet d’un rollback, on peut expérimenter le système puis revenir en arrière facilement
  • La commande ostree admin unlock permet aussi une personnalisation temporaire sans redémarrage
  • Des projets comme Blue95 reflètent une époque où la frontière entre distribution et conteneur devient floue
  • Les conteneurs amorçables permettent de concrétiser une expression créative personnelle

Le plaisir de la personnalisation des thèmes Linux

  • Depuis des décennies, je m’intéresse à différents environnements de bureau et réglages de thèmes
    • J’ai installé Xfce, LXQt, Sway et d’autres, en personnalisant panneaux, lanceurs, sons, polices et thèmes
    • Au départ, j’utilisais des scripts shell, puis j’ai évolué vers des playbooks Ansible
    • Cela incluait aussi des modifications à l’échelle du système nécessitant de toucher au répertoire /usr
  • Mais avec le temps, à cause de problèmes comme des panneaux qui cassent ou disparaissent souvent, ou des lanceurs qui ne fonctionnent plus, j’ai fini par choisir de revenir aux réglages par défaut
  • Les environnements de bureau modernes comme GNOME ou KDE sont déjà très bien conçus, au point que leur état par défaut est largement satisfaisant
  • Malgré cela, l’envie de personnalisation n’a pas disparu, et c’est alors que j’ai découvert le concept de bootc

Bootc, un terrain de jeu pour les créateurs de thèmes

  • bootc est un système de conteneurs amorçables développé par Red Hat
  • Il permet de définir et de distribuer un système d’exploitation sur une base conteneurisée
    FROM quay.io/fedora/fedora-bootc:42  
    RUN dnf install -y my-custom-theme my-custom-fonts my-custom-panel  
    
  • Avec les commandes podman et bootc, on peut construire une image puis basculer le système :
    sudo podman build -f Containerfile -t my-fedora  
    sudo bootc switch --transport containers-storage localhost/my-fedora:latest  
    
  • /usr est en lecture seule, et il est facile de revenir à l’état précédent du conteneur
  • C’est une approche parfaitement adaptée pour expérimenter de nouvelles idées de thèmes
  • En cas d’échec ou si le résultat ne plaît pas, on peut restaurer simplement l’état précédent

Development Mode (ostree admin unlock)

  • Un mode qui permet de modifier temporairement /usr sans redémarrer
  • En cas de succès, les changements peuvent être reportés dans le Containerfile ; en cas d’échec, un simple redémarrage suffit à les supprimer
  • L’un des avantages est qu’il laisse très peu de résidus accumulés comme c’est souvent le cas dans un environnement Linux classique

Comparaison avec les autres approches

  • Ansible ou scripts shell : limites en matière de reproductibilité et de restauration
  • systemd-sysext : permet d’utiliser des images d’overlay pour /usr, mais l’écosystème reste immature
  • Nix : coût d’apprentissage très élevé

En conclusion, bootc est l’approche la plus puissante en matière de sûreté, de flexibilité et d’outillage
Même en cas de modification erronée, le rollback est simple, ce qui évite de craindre de casser /usr

Qu’est-ce qu’une « distribution » ?

  • Blue95 est une image OCI personnalisée basée sur Fedora Xfce
  • Présenté sur Hacker News, le projet a soulevé la question : « S’il ne s’agit que d’un thème, faut-il vraiment une distribution ? »

La définition d’une distribution devient floue

  • Autrefois, créer une distribution était une tâche très complexe et chronophage
  • Désormais, on peut obtenir un résultat proche beaucoup plus facilement avec un Containerfile + un pipeline CI/CD
  • Blue95 est construit automatiquement avec GitHub Actions puis distribué sur un registre OCI
  • Le critère permettant de considérer un simple conteneur Fedora de base comme une distribution devient ambigu

Comparaison avec des cas existants

  • Des projets basés sur bootc comme Bluefin ou Bazzite sont eux aussi souvent considérés comme des distributions
  • L’expérience d’usage réelle est nettement différente de celle de Fedora classique
  • Avec les définitions existantes, il devient difficile d’expliquer ce que signifie encore une distribution
    • « On le reconnaît quand on le voit » pourrait bien être le seul critère qualitatif restant

Conclusion

  • Créer une « distribution » uniquement pour un thème peut sembler inutile
  • Mais le fait de pouvoir, grâce aux conteneurs amorçables, définir un design cohérent et une sélection d’applications,
  • puis de les créer et de les utiliser soi-même procure une grande joie et un vrai sentiment d’accomplissement

Le système d’exploitation sur lequel j’écris ce texte en ce moment est un système démarré à partir d’un conteneur que j’ai créé
C’est le résultat d’une expression créative personnelle construite au-dessus du travail d’innombrables développeurs,
et cela me procure un immense plaisir

2 commentaires

 
zihado 2025-04-23

Je ne comprends pas encore très bien les conteneurs bootables.

 
GN⁺ 2025-04-23
Avis sur Hacker News
  • Les conteneurs classiques sont très utiles pour tester des dotfiles

    • Il y a quelques années, j’ai ajouté un script d’installation à https://github.com/nickjj/dotfiles pour configurer rapidement un système
    • J’ai testé avec les images officielles Debian et Ubuntu
    • Récemment, j’ai refactorisé le tout pour prendre en charge Arch Linux
    • Je peux exécuter l’ensemble des tests en environ 5 minutes
    • Le conteneur démarre en 1 seconde, le reste du temps étant pris par l’exécution des scripts
    • Cela permet de tester sans modifier son système
    • Docker a rendu beaucoup de bonnes choses possibles au cours des 10 dernières années
  • J’aime l’idée de Linux immuable et des conteneurs amorçables

    • Mon prochain projet sera probablement de passer à bazzite
    • Mais en regardant le Containerfile, je m’inquiète des failles possibles dans la chaîne d’approvisionnement
    • Il utilise 20 dépôts copr différents, sans versions figées
    • Avec Debian, j’ai davantage confiance dans les paquets
    • Regrouper les risques de supply chain dans un seul fichier peut être dangereux
    • Je me demande si d’autres partagent cette inquiétude
  • Je me demande pourquoi il n’y a pas plus d’enthousiasme pour les thèmes

    • J’aime Chicago95 et le thème KDE de Garuda
    • Il existe des sites web pour télécharger des thèmes de différents DE, mais la plupart sont un peu instables
  • Je ne connaissais pas du tout les conteneurs amorçables

    • Blue95 prend davantage de sens dans le contexte de l’utilisation de bootc
    • On peut aussi regarder des exemples comme NsCDE
  • Ça me rappelle l’époque où je m’amusais avec Enlightenment

    • C’était une tentative de pousser les possibilités de X11 au maximum
    • Je suis surpris que cela existe encore
  • Les conteneurs amorçables m’intéressent

    • Cela ressemble au module impermanence de NixOS
  • Le projet bootc est actuellement l’une des choses les plus intéressantes sous Linux

    • J’aimerais que des projets comme Debian l’adoptent
    • On pourrait y gagner beaucoup en stabilité
  • L’image miniature résume parfaitement mon état général

  • Je m’attendais à ce que les OS modernes soient infiniment plus faciles à thématiser, mais ce n’est pas le cas

    • Je pensais qu’il existerait des thèmes rétro parfaits et des thèmes vraiment originaux