Le projet uutils coreutils 0.10.0 (Rust Coreutils), une évolution du paquet GNU Coreutils écrite en Rust, est désormais disponible. coreutils comprend plus de 100 utilitaires, dont sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln et ls. L'objectif du projet est de créer une alternative multiplateforme à Coreutils, capable de fonctionner sur diverses plateformes, notamment Windows, Redox et Fuchsia.
Les utilitaires principaux de Rust sont activés par défaut dans cette version. Ubuntu 25.10 et en partie dans Ubuntu Le 26.04 avril, Rust Coreutils a été intégré aux distributions AerynOS (Serpent OS) et Apertis (développée par Collabora). Contrairement à GNU Coreutils, l'implémentation Rust est distribuée sous la licence permissive MIT, et non sous la licence copyleft GPL. Par ailleurs, la même équipe de développeurs travaille actuellement sur des équivalents en Rust des suites d'utilitaires util-linux, diffutils, findutils, procps et acl, ainsi que des programmes sed et login.
Dans la nouvelle version de Rust Coreutils :
- Le taux de compatibilité avec la suite de tests GNU Coreutils était de 93.48 % (contre 90.58 % précédemment). 645 tests ont été menés à bien, soit 20 de plus que dans la version précédente (625). 29 tests ont échoué (contre 56 précédemment), un test a généré une erreur et 15 tests ont été ignorés (contre 8 précédemment).
- Correction de quelques incohérences avec GNU Coreutils dans le comportement des utilitaires pr, nproc, date, numfmt, ls, du, install, od, truncate, fold, head/tail, sum et stat.
- Les efforts se sont poursuivis pour renforcer la sécurité et prévenir les vulnérabilités liées aux conditions de concurrence, qui permettent la modification de données après leur vérification mais avant l'exécution d'une opération. Par exemple, un fichier pourrait être remplacé par un lien symbolique entre la fin de la vérification et le début de l'opération. Lors de l'utilisation des utilitaires `cp`, `chmod` et `mv` dans des scripts système exécutés avec les privilèges root, de telles vulnérabilités permettent la copie ou l'écrasement de fichiers arbitraires. La sécurité des utilitaires `touch`, `mkfifo`, `mkdir`, `mknod`, `mv`, `chroot`, `head`, `split` et `chcon` a également été renforcée.
- Des travaux ont été effectués pour éliminer les arrêts anormaux via le mécanisme de panique dans les utilitaires shuf, printf, numfmt, fmt, pr, chroot, dircolors, install, ln, touch, stat, split, expand, more, kill, cp, du, rm, runcon, sort, chown/chgrp, dirname, expr, cksum, dd, truncate, hashsum.
- Les performances des utilitaires cksum, sum, split, expand/unexpand, base*, tee, cat, cp, mv, expr, uniq et du ont été optimisées.
- Ajout de la prise en charge de la cible de compilation wasm32-wasip2.
- L'utilitaire mv implémente l'option "--exchange" pour échanger deux fichiers ou répertoires.
- L'utilitaire d'installation implémente l'option « --reflink » et offre la possibilité d'utiliser simultanément les options « -C » et « --preserve-timestamps ».
- L'option « --one-file-system » a été ajoutée à l'utilitaire rm.
- L'utilitaire cut permet de travailler avec des encodages multioctets lors de l'utilisation de paramètres régionaux non UTF-8.
- Le moteur OpenSSL est utilisé pour calculer rapidement les sommes de contrôle.
Source: opennet.ru
