Ubuntu Makes Removing Buggy Rust Clones Even Harder
Canonical force l’installation des utilitaires Rust « uutils » dans Ubuntu 26.04 via des dépendances piégées, rendant quasiment impossible le retour durable aux GNU coreutils, même pour les utilisateurs qui le souhaitent explicitement.

SYNTHÈSE STRUCTURÉE
Le problème : des clones Rust imposés malgré l’opposition des utilisateurs
L’intervenant dénonce une stratégie agressive de Canonical : « The Abuntu team at Canonical appear to be doing absolutely everything in their power to force the broken rust-based core utility clones known as uutils onto your Abuntu installations. » Même après avoir explicitement installé les GNU coreutils, les utilisateurs voient les uutils revenir lors de mises à jour ou d’installations de paquets courants.
Une parade temporaire et complexe
Il est possible de revenir aux GNU coreutils, mais de façon très éphémère : « you can do that temporarily, very temporarily, by jumping through some hoops. » La commande apt avec des options spécifiques permet d’installer les coreutils GNU, mais cette solution est fragile.
Le piège principal : le paquet build-essential
Le point critique est que build-essential (un paquet très commun sur Debian/Ubuntu) a été modifié pour dépendre obligatoirement de coreutils depuis uutils. L’intervenant explique : « This is the build essential package. It depends on hard dependency hard requirement core utils from u utils. » Ainsi, toute installation ou mise à jour de build-essential réinstalle automatiquement les clones Rust.
Une dépendance forcée par conception
Canonical a délibérément éclaté le paquet coreutils en deux : coreutils (GNU) et coreutils (uutils). Le changement dans build-essential a été justifié dans les notes de version par : « Temporarily hack core utils from uutils into build essentials to allow core utils depends forcing builds to use the uutils variant. » L’intervenant souligne l’ironie : « It’s the leftmost dependency. »
Une stratégie qui s’intensifiera
L’intervenant prédit que Canonical va durcir cette approche : « I would not be surprised if within the next year or so they phase out the GNU package entirely and just kind of stub it out. » Il anticipe que le paquet GNU sera redirigé vers le paquet Rust, rendant toute opposition impossible.
Un manque de respect envers les utilisateurs
Le ton monte : « It’s really disrespectful to the end users. It runs contrary to Unix design philosophies. » L’intervenant cite des retours d’utilisateurs qui n’ont découvert le changement qu’après avoir installé build-essential : « I only caught this because I had to install Build Essentials and then bam. »
CONCEPTS CLÉS
- uutils : Ensemble d’utilitaires système (comme
ls,cp,rm) réécrits en Rust, présentés comme des clones des GNU coreutils mais jugés « extraordinairement cassés » par l’intervenant. - GNU coreutils : Version historique, stable et largement testée des utilitaires de base Unix, écrite en C.
- Dépendance dure (hard dependency) : Relation entre paquets où un paquet ne peut pas être installé sans l’autre, contrairement à une recommandation ou suggestion.
- build-essential : Paquet méta sur Debian/Ubuntu qui regroupe les outils nécessaires à la compilation (gcc, make, etc.), très utilisé par les développeurs et administrateurs.
CONCLUSION
Canonical impose les uutils Rust via des dépendances piégées dans build-essential, rendant le retour aux GNU coreutils temporaire et inefficace. Cette approche, qualifiée de « disrespectful » et contraire à la philosophie Unix, montre une volonté de forcer une technologie instable malgré l’opposition des utilisateurs. L’intervenant prédit une disparition progressive du paquet GNU, ce qui obligera les administrateurs à accepter ces clones Rust ou à quitter Ubuntu.