Skip to Content
DocumentationExploitationAdministration systèmeCoreutils et scripts Rust

Rust coreutils : compatibilité des scripts et alternatives GNU

Ubuntu 26.10 migre également les commandes cp, mv et rm précédemment conservées vers des uutils basés sur Rust. Les noms restent familiers, mais les scripts reposant sur des options inhabituelles, un texte d’erreur ou un comportement de sortie doivent être vérifiés. Les notes de version 26.10  confirment la transition.

Inspecter la mise en œuvre actuelle

type -a cp mv rm cp --version mv --version rm --version

Vérifiez d’abord type -a pour les alias, les fonctions shell ou les entrées PATH personnalisées, puis inspectez la sortie de la version. Les conteneurs ont leur propre espace utilisateur : la mise à niveau de l’hôte ne modifie pas automatiquement les commandes à l’intérieur d’un conteneur.

Tester un workflow de base dans un répertoire temporaire

Cet exemple crée et déplace des fichiers de test sans toucher à vos fichiers de travail :

coreutils_check_dir=$(mktemp -d) printf 'coreutils check\n' > "$coreutils_check_dir/source.txt" cp "$coreutils_check_dir/source.txt" "$coreutils_check_dir/copy.txt" cmp "$coreutils_check_dir/source.txt" "$coreutils_check_dir/copy.txt" mv "$coreutils_check_dir/copy.txt" "$coreutils_check_dir/moved.txt" rm "$coreutils_check_dir/moved.txt" ls -la "$coreutils_check_dir"

Aucune sortie de cmp avec l’état de sortie 0 signifie que le contenu correspond. Il ne s’agit que d’une vérification de base, et non d’une preuve qu’un script de sauvegarde ou de déploiement est compatible. Conservez le répertoire pour inspection et supprimez-le manuellement par la suite.

Priorisez ces scripts

  • Scripts analysant les messages d’erreur : préférez les codes de sortie et les vérifications explicites des fichiers.
  • Copies récursives, liens symboliques et préservation des métadonnées : comparez les contenus, les autorisations et les cibles des liens à l’aide d’échantillons de données.
  • Travaux planifiés et CI : test avec l’utilisateur réel, PATH et le répertoire de travail.
  • Tâches de suppression ou d’écrasement de fichiers : utilisez des copies jetables et confirmez d’abord les procédures de récupération.

Exécutez la même entrée sur le système cible et l’environnement d’origine. Enregistrez la commande, le code de sortie, stdout et stderr. Utilisez stat sur des exemples de fichiers lorsque les métadonnées sont importantes.

Alternatives à GNU

Ubuntu fournit toujours les utilitaires GNU. La documentation officielle décrit les commandes préfixées par gnu telles que gnuls et la commutation entre coreutils-from-gnu et coreutils-from-uutils. Consultez les instructions officielles de rust-coreutils .

Corrigez ou isolez d’abord le problème de script spécifique. Si un changement à l’échelle du système est nécessaire, lisez les commandes officielles et examinez les modifications prévues pour APT. Ce sont des packages du système de base ; évitez d’écraser les fichiers dans /usr/bin ou d’inventer des liens symboliques pour les remplacer.

Suivant : sauvegarde et récupération et sélection de versions.