Sortie de uutils 0.9, la variante Rust de GNU Coreutils

Le projet uutils coreutils 0.9.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.

Coreutils Rust
activé par défaut dans la 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 90.58 % (contre 94.74 % précédemment). 625 tests ont été exécutés avec succès, soit 5 de moins que dans la version précédente (630). 56 tests ont échoué (contre 21 précédemment), un test a généré une erreur et 8 tests ont été ignorés (contre 14 précédemment). Cette baisse de compatibilité est due à la mise à jour de la suite de tests vers la version 9.11 de GNU Coreutils, qui a ajouté 25 nouveaux tests.
  • Quarante-quatre vulnérabilités identifiées lors d'un audit réalisé par Zellic ont été corrigées. La plupart de ces vulnérabilités sont dues à des divergences de comportement avec les utilitaires GNU coreutils ou à des conditions de concurrence permettant la modification de données après leur vérification, mais avant l'exécution d'une opération. Par exemple, un fichier peut ê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, ces vulnérabilités permettent la copie ou l'écrasement de fichiers arbitraires. Pour se prémunir contre les conditions de concurrence, le projet utilise le module `uucore::safe_copy`. Des informations concernant ces vulnérabilités sont publiées dans un article distinct.
  • La migration des utilitaires du paquet nix vers le paquet rustix se poursuit. Les utilitaires suivants ont été migrés vers rustix : id, tr, timeout, sort, wc, tail, cp, who et factor.
    Le code a été nettoyé des opérations dangereuses dans divers utilitaires.
  • Les utilitaires cat, wc, head, tail, yes, cp, tee et unexpand utilisent des gestionnaires d'entrée/sortie basés sur les appels système splice(), tee() et pipe(), ce qui accélère le fonctionnement en éliminant les copies inutiles de données entre les tampons.
  • Compatibilité améliorée avec GNU Coreutils pour les utilitaires numfmt, date, tr, cksum, factor, head, stat et sort.
  • Les utilitaires ln, dd, mktemp et tty prennent désormais en charge la compilation au format WebAssembly et l'utilisation de l'interface WASI (WebAssembly System Interface).
  • Fonctionnalités étendues, problèmes corrigés et ajout d'options manquantes pour les utilitaires cat, chroot et cksum.
    cp, date, dd, df, dirname, du, echo, env, expr, factor, fmt, head, id, install, join, ln, logname, ls, md5sum, mkdir, mknod, mktemp, more, mv, nl, nohup, nproc, numfmt, od, paste, pinky, pr, realpath, rm, rmdir, shred, sort, split, stat, stdbuf, stty, sum, sync, tail, tee, timeout, touch, tr, tty, unexpand, uniq, uptime, wc, who, yes.
  • Source: opennet.ru

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