A Gentoo Retrospective
Cette vidéo critique l’expérience Gentoo en tant que distribution « contrôle total », en pointant du doigt la complexité des USE flags, la documentation confuse du wiki et les lourdeurs de Portage, tout en reconnaissant ses forces philosophiques.

SYNTHÈSE STRUCTURÉE
La promesse de contrôle total est nuancée
L’intervenant commence par affirmer que Gentoo est souvent perçu comme « l’OS qui donne un contrôle complet », mais il précise immédiatement : « Unfortunately for me, that’s not really true. » Il explique que ce contrôle est réel mais conditionné à une compréhension fine des mécanismes internes, ce qui le rend moins accessible qu’il n’y paraît. Pour un admin, cela signifie que la maîtrise de Gentoo exige un investissement cognitif important, pas seulement une volonté de configurer.
Les USE flags : une abstraction puissante mais ambiguë
Les USE flags sont présentés comme l’interface entre l’utilisateur et les options de compilation. L’intervenant les décrit comme « basically just a list of terms that you specify before you install a program ». L’avantage est clair : compiler uniquement les fonctionnalités nécessaires réduit la taille des binaires et la consommation de ressources. Mais le problème surgit quand un même flag change de signification selon le paquet. L’exemple donné est flagrant : X pour Firefox signifie support de X11, mais pour Hyprland, il signifie « démarrer une session XWayland au démarrage ». L’intervenant s’insurge : « This is not convenient. » Pour un admin, cela impose de vérifier la signification de chaque flag pour chaque paquet, ce qui casse l’abstraction.
La documentation wiki : un labyrinthe pour les USE flags
Le wiki Gentoo, censé être la référence, ne liste pas les USE flags pour Hyprland. L’intervenant constate : « This list just straight up does not exist. It’s just not here. » Il ajoute qu’il n’y a « not even a single mention of the word XWayland anywhere on that page ». C’est un problème majeur pour un admin qui veut configurer proprement son système : sans documentation fiable, il doit fouiller les ebuilds ou les sources, ce qui est chronophage et source d’erreurs.
Le handbook : une structure confuse et non modulaire
L’intervenant parcourt le handbook Gentoo et le qualifie de « complete dumpster fire ». Il pointe plusieurs défauts :
- Les instructions pour BIOS legacy et UEFI sont mélangées, obligeant à sauter des sections entières.
- Les options pour systemd et OpenRC ne sont pas séparées, ce qui force à lire des informations inutiles.
- La configuration du kernel est présentée de manière linéaire, sans séparation claire entre les bootloaders (GRUB, systemd-boot, EFI stub).
- Les avertissements critiques, comme ceux pour dracut, sont noyés dans du texte, ce qui a causé des kernel panics à l’intervenant : « I have gotten so many kernel panics from dracut, even though I’m not even using it. »
Il propose une refonte en mode « choose your own adventure » : « If I’m using musl OpenRC stage archive, it should give me a little link to this handbook which has the musl instructions only and the OpenRC instructions only and nothing else. » C’est une recommandation concrète pour améliorer l’expérience d’installation.
Les dépendances de Portage : Python et Bash, des poids lourds
Portage, le gestionnaire de paquets, est écrit en Python, un langage interprété. L’intervenant ironise : « Python, one of the most famously terrible interpreted languages. » Il montre que même une simple commande emerge --pretend pour Firefox prend un temps considérable, car Portage doit interpréter des milliers de lignes de code. Pour un admin, cela signifie que les opérations courantes sont lentes, surtout sur des machines modestes. Il ajoute que emerge --search est « so unbearably slow » et que la solution recommandée est d’installer un outil tiers, créant ainsi une « duplicate functionality » : un paquet supplémentaire pour une fonctionnalité déjà présente, mais trop lente.
La dépendance à GNU coreutils : un frein au minimalisme
Portage dépend non seulement de Python et Bash, mais aussi de l’ensemble de la suite GNU coreutils. L’intervenant souligne que même si vous installez BusyBox pour minimiser votre système, GNU coreutils reste présent : « Say goodbye to your dreams of having a minimal core system. » C’est un point crucial pour les minimalistes : Gentoo ne permet pas de se débarrasser de GNU, ce qui contredit l’idée d’un système épuré à l’extrême.
Le masking : une fonctionnalité utile mais capricieuse
Le masking de paquets est présenté comme un outil puissant pour empêcher Portage d’installer certains paquets. L’intervenant le trouve « very useful functionality if you use it sparingly and with intent », mais il devient « incredibly annoying » quand il bloque des paquets que vous voulez installer, sans explication claire. Pour un admin, cela nécessite une gestion fine des fichiers de masking, souvent via des fichiers locaux, ce qui ajoute une couche de complexité.
CONCEPTS CLÉS
- USE flags : Options de compilation définies par l’utilisateur pour activer ou désactiver des fonctionnalités d’un paquet. Elles sont spécifiques à chaque ebuild et peuvent avoir des significations différentes selon le contexte.
- Portage : Le gestionnaire de paquets de Gentoo, écrit en Python, qui gère la compilation depuis les sources via des ebuilds.
- Ebuild : Script Bash décrivant comment télécharger, compiler et installer un paquet sur Gentoo.
- Masking : Mécanisme de Portage pour empêcher l’installation ou la mise à jour de paquets spécifiques, via des fichiers de configuration.
- XWayland : Un serveur X11 qui fonctionne sous Wayland, permettant aux applications X11 de s’exécuter dans un environnement Wayland.
- OpenRC : Système d’init alternatif à systemd, utilisé par défaut sur Gentoo pour les systèmes non-systemd.
CONCLUSION
Le message principal est que Gentoo offre un contrôle réel mais au prix d’une complexité mal documentée et de lourdeurs techniques. L’intervenant conclut : « Maybe this is just a skill issue. » Cette phrase résume l’ambivalence : le problème n’est pas tant la distribution que la manière dont elle est documentée et structurée. Pour un admin, cela signifie qu’il faut être prêt à investir du temps dans l’apprentissage et la résolution de problèmes, mais aussi que la communauté et le wiki doivent évoluer pour rendre l’expérience plus fluide. La recommandation clé est de séparer les guides par choix d’implémentation (musl vs glibc, OpenRC vs systemd, etc.) pour éviter la surcharge cognitive. En fin de compte, Gentoo reste une distribution puissante, mais elle exige une maturité technique et une patience que tous ne sont pas prêts à fournir.