Sortie de uutils 0.10, une variante de GNU Coreutils en Rust

La publication de la version 0.10.0 du projet uutils coreutils (Rust Coreutils) a été réalisée, développant une alternative au package GNU Coreutils, écrite en Rust. Coreutils contient plus de cent utilitaires, y compris sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln et ls. L'objectif du projet est de créer une implémentation alternative multiplateforme de Coreutils, capable de fonctionner sur des plateformes telles que Windows, Redox et Fuchsia.

Rust Coreutils est utilisé par défaut dans la distribution Ubuntu 25.10 et partiellement dans Ubuntu 26.04. Rust Coreutils est également appliqué dans les distributions AerynOS (Serpent OS) et Apertis (développé par Collabora). Contrairement à GNU Coreutils, l'implémentation en Rust est distribuée sous la licence permissive MIT, au lieu de la licence copyleft GPL. De plus, la même équipe de développeurs travaille sur des analogues en Rust des ensembles d'utilitaires util-linux, diffutils, findutils, procps et acl, ainsi que des programmes sed et login.

Dans la nouvelle version de Rust Coreutils :

  • Le niveau de compatibilité avec l'ensemble de tests de référence GNU Coreutils est de 93,48 % (contre 90,58 % précédemment). 645 tests ont été réussis, ce qui représente 20 de plus que dans la version précédente (625). 29 tests ont échoué (contre 56), un test a entraîné une erreur, et 15 tests ont été ignorés (contre 8).
  • Des divergences avec GNU Coreutils dans le comportement des utilitaires pr, nproc, date, numfmt, ls, du, install, od, truncate, fold, head/tail, sum et stat ont été corrigées.
  • Le travail sur le renforcement de la sécurité pour prévenir les vulnérabilités causées par des conditions de course, permettant de modifier les données après la vérification de la validité des informations mais avant l'exécution d'opérations sur celles-ci, a été poursuivi. Par exemple, cela peut permettre de remplacer un fichier par un lien symbolique entre la fin de la vérification et le début de l'opération. Dans le cadre de l'utilisation des utilitaires cp, chmod et mv dans des scripts système exécutés avec des droits root, de telles vulnérabilités permettent de copier ou d'écraser des fichiers arbitraires. La protection des utilitaires touch, mkfifo, mkdir, mknod, mv, chroot, head, split et chcon a été renforcée.
  • Des efforts ont été déployés pour résoudre les plantages via le mécanisme de panic 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 et hashsum.
  • Une optimisation des performances des utilitaires cksum, sum, split, expand/unexpand, base*, tee, cat, cp, mv, expr et uniq a été réalisée.
  • La prise en charge de l'objectif de compilation wasm32-wasip2 a été ajoutée.
  • Une option «—exchange» a été implémentée dans l'utilitaire mv pour échanger deux fichiers ou répertoires.
  • L'outil install a implémenté l'option «—reflink» et permet désormais l'utilisation conjointe des options «-C» et «—preserve-timestamps».
  • L'outil rm a ajouté l'option «—one-file-system».
  • L'outil cut permet désormais de travailler avec des encodages multibyte lors de l'utilisation de locales autres que UTF-8.
  • Pour le calcul rapide des sommes de contrôle, le backend OpenSSL a été utilisé.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster