Le remplacement de l'outil GNU Coreutils par Rust Coreutils (uutils) dans la distribution Ubuntu 25.10 a perturbé le script d'automatisation de la vérification des mises à jour des paquets. Entre autres, le mécanisme d'installation automatique des mises à jour pour corriger les vulnérabilités, utilisé dans certaines installations d'Ubuntu Desktop et d'Ubuntu Server, ainsi que dans des configurations pour des systèmes cloud et des conteneurs, s'est avéré non fonctionnel. L'échec n'a pas affecté les opérations d'installation manuelle des mises à jour à l'aide de commandes comme apt.
Le problème a été causé par la livraison de l'utilitaire « date » du jeu uutils, dans lequel l'option « -r » (« —reference=file »), qui affiche le temps de modification d'un fichier donné, n'a pas été implémentée. Indiquer cette option dans l'utilitaire « date » a été accepté par le parseur, mais la logique de traitement de l'option était absente dans le code, donc au lieu de l'heure de la dernière modification du fichier, l'heure actuelle était toujours renvoyée.
La commande « date » avec l'option « -r » était utilisée dans le script appelé quotidiennement « apt.systemd.daily » pour déterminer le temps de modification du fichier « /var/lib/apt/periodic/upgrade-stamp », qui était utilisé pour calculer le temps de la dernière installation des mises à jour. Comme l'appel de « date » avec l'option « -r » ne renvoyait pas d'erreur et retournait l'heure actuelle, le script croyait toujours que les mises à jour les plus récentes étaient installées dans le système.
Il est remarquable que dans le dépôt git uutils, le changement avec un support complet et fonctionnel de l'option « -r » ait été ajouté un mois avant la sortie d'Ubuntu 25.10, mais il n'a pas été inclus dans le paquet rust-coreutils0.2.2-0ubuntu2, qui fait partie d'Ubuntu 25.10. L'absence de message d'erreur lors de l'appel d'une option non fonctionnelle n'a pas permis d'identifier le problème lors des tests automatisés. Le problème a été résolu dans la mise à jour du paquet rust-coreutils 0.2.2-0ubuntu2.1, que l'on peut installer avec la commande « sudo apt install —update rust-coreutils ».
Source : opennet.ru
