{"id":181818,"date":"2026-05-30T20:48:24","date_gmt":"2026-05-30T18:48:24","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust"},"modified":"2026-05-30T20:48:24","modified_gmt":"2026-05-30T18:48:24","slug":"vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust","title":{"rendered":"Publication de uutils 0.9, une variante de GNU Coreutils en Rust.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La publication de la version 0.9.0 du projet uutils coreutils (Rust Coreutils) a \u00e9t\u00e9 annonc\u00e9e, d\u00e9veloppant une alternative au paquet GNU Coreutils, \u00e9crite en Rust. Le package coreutils comprend plus de cent utilitaires, dont sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln et ls. Le but du projet est de cr\u00e9er une impl\u00e9mentation alternative de Coreutils, compatible avec plusieurs plateformes, y compris Windows, Redox et Fuchsia. <\/p>\n<p>Rust Coreutils<br \/>\nest activ\u00e9 par d\u00e9faut dans la version Ubuntu 25.10 et partiellement dans Ubuntu 26.04. Rust Coreutils est \u00e9galement utilis\u00e9 dans les distributions AerynOS (Serpent OS) et Apertis (d\u00e9velopp\u00e9 par Collabora). Contrairement \u00e0 GNU Coreutils, l'impl\u00e9mentation en Rust est distribu\u00e9e sous la licence permissive MIT, plut\u00f4t que sous la licence copyleft GPL. De plus, la m\u00eame \u00e9quipe de d\u00e9veloppeurs travaille sur des alternatives \u00e9crites en Rust pour les ensembles d'utilitaires util-linux, diffutils, findutils, procps et acl, ainsi que pour les programmes sed et login.<\/p>\n<p>Dans la nouvelle version de Rust Coreutils :\n<\/p>\n<ul>\n<li class=\"l\"> Le niveau de compatibilit\u00e9 avec le r\u00e9f\u00e9rentiel des tests de GNU Coreutils a atteint 90,58 % (contre 94,74 % auparavant). 625 tests ont \u00e9t\u00e9 ex\u00e9cut\u00e9s avec succ\u00e8s, ce qui en fait 5 de moins que dans la version pr\u00e9c\u00e9dente (630). 56 tests ont \u00e9chou\u00e9 (contre 21), un test a abouti \u00e0 une erreur, et 8 tests ont \u00e9t\u00e9 ignor\u00e9s (contre 14). La diminution du niveau de compatibilit\u00e9 est due \u00e0 la mise \u00e0 jour du r\u00e9f\u00e9rentiel des tests vers la version de GNU Coreutils 9.11, qui a ajout\u00e9 25 nouveaux tests.\n<li class=\"l\"> 44 vuln\u00e9rabilit\u00e9s ont \u00e9t\u00e9 corrig\u00e9es \u00e0 la suite d'un audit men\u00e9 par Zellic. La plupart des vuln\u00e9rabilit\u00e9s sont dues \u00e0 un comportement divergent par rapport \u00e0 GNU coreutils ou \u00e0 des conditions de course permettant de modifier les donn\u00e9es juste apr\u00e8s la v\u00e9rification de leur validit\u00e9, mais avant l'ex\u00e9cution de l'op\u00e9ration sur celles-ci, par exemple en rempla\u00e7ant un fichier par un lien symbolique entre la fin de la v\u00e9rification et le d\u00e9but de l'op\u00e9ration. Dans le contexte de l'utilisation des utilitaires cp, chmod et mv dans des scripts syst\u00e8me ex\u00e9cut\u00e9s avec des droits root, de telles vuln\u00e9rabilit\u00e9s permettent de copier ou d'\u00e9craser des fichiers arbitraires. Pour se prot\u00e9ger contre les vuln\u00e9rabilit\u00e9s caus\u00e9es par des conditions de course, le module uucore::safe_copy a \u00e9t\u00e9 int\u00e9gr\u00e9 au projet. Les informations sur les vuln\u00e9rabilit\u00e9s ont \u00e9t\u00e9 publi\u00e9es dans une nouvelle s\u00e9par\u00e9e.\n<li class=\"l\"> La migration des utilitaires vers le paquet crate rustix se poursuit, rempla\u00e7ant le paquet crate nix. Les utilitaires id, tr, timeout, sort, wc, tail, cp, who et factor ont \u00e9t\u00e9 port\u00e9s vers rustix.<br \/>\nLe code a \u00e9t\u00e9 nettoy\u00e9 des op\u00e9rations unsafe dans divers utilitaires.<\/p>\n<li class=\"l\"> Les utilitaires cat, wc, head, tail, yes, cp, tee et unexpand utilisent des gestionnaires d'entr\u00e9e\/sortie bas\u00e9s sur des appels syst\u00e8mes tels que splice(), tee() et pipe(), ce qui acc\u00e9l\u00e8re le fonctionnement en \u00e9liminant les copies de donn\u00e9es superflues entre les tampons.\n<li class=\"l\"> Am\u00e9lioration de la compatibilit\u00e9 avec GNU Coreutils pour les utilitaires numfmt, date, tr, cksum, factor, head, stat et sort.\n<li class=\"l\"> Les utilitaires ln, dd, mktemp et tty prennent d\u00e9sormais en charge la compilation au format WebAssembly et l'utilisation de l'interface WASI (WebAssembly System Interface).\n<\/li>\n<li class=\"l\"> Des fonctionnalit\u00e9s ont \u00e9t\u00e9 \u00e9tendues, des probl\u00e8mes r\u00e9solus et des options manquantes ajout\u00e9es pour les utilitaires cat, chroot, cksum,<br \/>\ncp, 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. <\/p>\n<\/li>\n<p>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=65586\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 uutils coreutils 0.9.0 (Rust Coreutils), \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u0430\u043a\u0435\u0442\u0430 GNU Coreutils, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u0412 \u0441\u043e\u0441\u0442\u0430\u0432 coreutils \u0432\u0445\u043e\u0434\u0438\u0442 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430 \u0443\u0442\u0438\u043b\u0438\u0442, \u0432\u043a\u043b\u044e\u0447\u0430\u044f sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln \u0438 ls. \u0426\u0435\u043b\u044c\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0439 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 Coreutils, \u0441\u0440\u0435\u0434\u0438 \u043f\u0440\u043e\u0447\u0435\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445 Windows, Redox [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-181818","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 uutils coreutils 0.9.0 (Rust Coreutils), \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u0430\u043a\u0435\u0442\u0430 GNU Coreutils, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a uutils 0.9, \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 GNU Coreutils \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 uutils coreutils 0.9.0 (Rust Coreutils), \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u0430\u043a\u0435\u0442\u0430 GNU Coreutils, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-05-30T18:48:24+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-05-30T18:48:24+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Publication de uutils 0.9, une variante de GNU Coreutils en Rust | ProHoster","description":"La version 0.9.0 du projet uutils coreutils (Rust Coreutils), qui d\u00e9veloppe un \u00e9quivalent du package GNU Coreutils \u00e9crit en Rust, a \u00e9t\u00e9 publi\u00e9e.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a uutils 0.9, \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 GNU Coreutils \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster","og:description":"\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0432\u044b\u043f\u0443\u0441\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0430 uutils coreutils 0.9.0 (Rust Coreutils), \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u0430\u043a\u0435\u0442\u0430 GNU Coreutils, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-uutils-0-9-varianta-gnu-coreutils-na-yazyke-rust","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-05-30T18:48:24+00:00","article:modified_time":"2026-05-30T18:48:24+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/181818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=181818"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/181818\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=181818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=181818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=181818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}