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.

Voir la source

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.

Du même canal

Tout voir