{"id":147854,"date":"2025-11-10T11:12:10","date_gmt":"2025-11-10T09:12:10","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils"},"modified":"2025-11-10T11:12:10","modified_gmt":"2025-11-10T09:12:10","slug":"vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils","title":{"rendered":"Publication de Rust Coreutils 0.4. Divergences de comportement de l'outil du dans uutils et GNU Coreutils.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Une nouvelle version du projet uutils coreutils 0.4.0 (Rust Coreutils) a \u00e9t\u00e9 publi\u00e9e. Ce projet d\u00e9veloppe une alternative au package GNU Coreutils, \u00e9crite en Rust. Coreutils comprend plus d'une centaine d'utilitaires, dont sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln et ls. L'objectif du projet est de cr\u00e9er une mise en \u0153uvre alternative multiplateforme de Coreutils, capable de fonctionner sur les plateformes Windows, Redox et Fuchsia.     <\/p>\n<p>Rust Coreutils est utilis\u00e9 par d\u00e9faut dans la version Ubuntu 25.10 et est int\u00e9gr\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 une licence permissive MIT, plut\u00f4t que sous la licence copyleft GPL. De plus, la m\u00eame \u00e9quipe de d\u00e9veloppeurs travaille sur des analogues \u00e9crits en Rust des ensembles d'utilitaires util-linux, diffutils, findutils et procps, ainsi que sur les programmes sed et login.          <\/p>\n<p>Dans la nouvelle version de Rust Coreutils :  <\/p>\n<ul>\n<li class=\"l\"> La compatibilit\u00e9 avec le jeu de tests de r\u00e9f\u00e9rence GNU Coreutils a \u00e9t\u00e9 am\u00e9lior\u00e9e, avec 544 tests r\u00e9ussis, soit 12 de plus que dans la version pr\u00e9c\u00e9dente (532). 56 (68) tests ont \u00e9chou\u00e9, tandis que 33 (33) tests ont \u00e9t\u00e9 ignor\u00e9s. Le niveau de compatibilit\u00e9 annonc\u00e9 est de 85,80 % (contre 83,91 %).\n<li class=\"l\"> Dans l'utilitaire data, la compatibilit\u00e9 avec GNU date a \u00e9t\u00e9 am\u00e9lior\u00e9e pour le traitement des fuseaux horaires (la possibilit\u00e9 de sp\u00e9cifier les abr\u00e9viations des fuseaux horaires a \u00e9t\u00e9 ajout\u00e9e dans l'option \u2014set).\n<li class=\"l\"> Dans l'utilitaire factor, le package num_prime a \u00e9t\u00e9 utilis\u00e9 pour acc\u00e9l\u00e9rer la factorisation des types u64\/u128.\n<li class=\"l\"> Dans l'utilitaire tsort, l'impl\u00e9mentation de l'algorithme de parcours DFS a \u00e9t\u00e9 convertie d'une m\u00e9thode r\u00e9cursive \u00e0 une m\u00e9thode it\u00e9rative pour \u00e9viter le d\u00e9bordement de pile.\n<li class=\"l\"> Dans l'utilitaire cksum, la prise en charge des hachages sha2 et sha3 a \u00e9t\u00e9 ajout\u00e9e. Des tests ont \u00e9t\u00e9 ajout\u00e9s pour suivre les changements de performance de cksum. La fonctionnalit\u00e9 hashsum a \u00e9t\u00e9 int\u00e9gr\u00e9e \u00e0 cksum.\n<li class=\"l\"> Dans l'utilitaire mkdir, un d\u00e9bordement de pile \u00e0 l'origine de l'arr\u00eat brutal lors de la cr\u00e9ation d'un grand nombre de r\u00e9pertoires imbriqu\u00e9s (plus de 200) a \u00e9t\u00e9 corrig\u00e9.\n<li class=\"l\"> Dans les utilitaires stdbuf et uptime, la prise en charge de la plateforme OpenBSD a \u00e9t\u00e9 ajout\u00e9e.\n<li class=\"l\"> La construction et les tests sur la plateforme FreeBSD ont \u00e9t\u00e9 am\u00e9lior\u00e9s.\n<li class=\"l\"> Des am\u00e9liorations g\u00e9n\u00e9rales ont \u00e9t\u00e9 apport\u00e9es pour augmenter la portabilit\u00e9.\n<li class=\"l\"> Les capacit\u00e9s ont \u00e9t\u00e9 \u00e9tendues, les probl\u00e8mes ont \u00e9t\u00e9 r\u00e9solus et des options manquantes ont \u00e9t\u00e9 ajout\u00e9es pour les utilitaires base64, cat, chown, chsum, date, dd, du, factor, hashsum, install, ls, mkdir, od, printenv, printf, readlink, stdbuf, timeout, truncate, tsort, uptime, uudoc.      <\/ul>\n<p>On peut \u00e9galement noter un \u00e9cart de comportement de l'utilitaire \u00ab du \u00bb entre les ensembles uutils et GNU Coreutils, qui est apparu apr\u00e8s le passage d'Ubuntu 25.10 \u00e0 uutils. Les d\u00e9veloppeurs n'ont pas encore d\u00e9cid\u00e9 s'il fallait consid\u00e9rer cet \u00e9cart comme une erreur, car d'un c\u00f4t\u00e9, il y a une logique dans le comportement de uutils et le jeu de tests de GNU Coreutils ne r\u00e9v\u00e8le pas de probl\u00e8mes, mais d'un autre c\u00f4t\u00e9, les incompatibilit\u00e9s avec GNU Coreutils doivent \u00eatre trait\u00e9es comme des erreurs et le comportement de Busybox est conforme \u00e0 GNU Coreutils.    <\/p>\n<p>Un comportement diff\u00e9rent est observ\u00e9 lorsqu'on sp\u00e9cifie plusieurs r\u00e9pertoires comme arguments pour l'utilitaire \u00ab du \u00bb dans une situation o\u00f9 certains de ces r\u00e9pertoires sont des sous-r\u00e9pertoires d'autres r\u00e9pertoires (par exemple, \/var et \/var\/log). Uutils affiche la taille r\u00e9elle de chaque r\u00e9pertoire s\u00e9par\u00e9ment, tandis que dans la ligne de r\u00e9sultat, il affiche la taille totale de tous les r\u00e9pertoires sp\u00e9cifi\u00e9s. GNU Coreutils affiche la taille r\u00e9elle que ces r\u00e9pertoires occupent sur le disque dans la ligne de r\u00e9sultat, mais dans la liste s\u00e9par\u00e9e, il indique les tailles de chaque r\u00e9pertoire en soustrayant les r\u00e9pertoires imbriqu\u00e9s, ce qui fait que leur taille est inf\u00e9rieure \u00e0 la taille r\u00e9elle. De plus, les valeurs affich\u00e9es par GNU Coreutils et Busybox changent en fonction de l'ordre de sp\u00e9cification des r\u00e9pertoires.       <\/p>\n<p>Par exemple, lors de la v\u00e9rification de la taille des r\u00e9pertoires \u00ab \/var\/log \u00bb et \u00ab \/var \u00bb, dont les tailles r\u00e9elles sont respectivement de 1540 et 35495 octets, dans GNU Coreutils, il sera affich\u00e9 : \n        du -smc \/var\/log \/var\n     1540    \/var\/log\n     33955   \/var # inf\u00e9rieur \u00e0 la taille r\u00e9elle\n     35495   total\n       du -smc \/var \/var\/log\n     35495   \/var # seul \/var est affich\u00e9 et \/var\/log n'est pas affich\u00e9\n     35495   total      <\/p>\n<p>Chez uutils :       du -smc \/var\/log \/var     1540    \/var\/log     35495   \/var     37033   total # sup\u00e9rieur \u00e0 la taille r\u00e9elle, mais correspond \u00e0 la somme de \/var et \/var\/log       du -smc \/var \/var\/log     35495   \/var       1540    \/var\/log     37033   total # sup\u00e9rieur \u00e0 la taille r\u00e9elle, mais correspond \u00e0 la somme de \/var et \/var\/log      <\/p>\n<p>Chez Busybox :       du -smc \/var\/log \/var     1540    \/var\/log     33955   \/var # inf\u00e9rieur \u00e0 la taille r\u00e9elle     35495   total       du  -smc \/var \/var\/log     35495   \/var # affiche uniquement \/var et ne montre pas \/var\/log     35495   total<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=64214\">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.4.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":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-147854","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - 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.4.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=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\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 Rust Coreutils 0.4. \u0420\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u044b du \u0432 uutils \u0438 GNU Coreutils | 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.4.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-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils\" \/>\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=\"2025-11-10T09:12:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-11-10T09:12:10+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\udd47Sortie de Rust Coreutils 0.4. Divergence du comportement de l'outil du dans uutils et GNU Coreutils | ProHoster","description":"La version 0.4.0 du projet uutils coreutils (Rust Coreutils) a \u00e9t\u00e9 publi\u00e9e, d\u00e9veloppant une alternative au paquet GNU Coreutils, \u00e9crite en Rust.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils","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 Rust Coreutils 0.4. \u0420\u0430\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u044b du \u0432 uutils \u0438 GNU Coreutils | 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.4.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-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils","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":"2025-11-10T09:12:10+00:00","article:modified_time":"2025-11-10T09:12:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"147854","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 15:51:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 15:51:19","updated":"2026-01-23 15:51:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/147854","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=147854"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/147854\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=147854"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=147854"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=147854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}