{"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\/pt\/blog\/news\/vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils","title":{"rendered":"Lan\u00e7amento do Rust Coreutils 0.4. Diverg\u00eancia no comportamento da ferramenta du entre uutils e GNU Coreutils","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Foi lan\u00e7ado o projeto uutils coreutils 0.4.0 (Rust Coreutils), uma alternativa ao pacote GNU Coreutils, escrita na linguagem Rust. O coreutils inclui mais de cem utilit\u00e1rios, incluindo sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln e ls. O objetivo do projeto \u00e9 criar uma implementa\u00e7\u00e3o alternativa multiplataforma do Coreutils, capaz de operar em plataformas como Windows, Redox e Fuchsia.     <\/p>\n<p>Rust Coreutils est\u00e1 habilitado por padr\u00e3o na vers\u00e3o Ubuntu 25.10 e \u00e9 utilizado nas distribui\u00e7\u00f5es AerynOS (Serpent OS) e Apertis (desenvolvido pela Collabora). Ao contr\u00e1rio do GNU Coreutils, a implementa\u00e7\u00e3o em Rust \u00e9 distribu\u00edda sob a licen\u00e7a permissiva MIT, em vez da licen\u00e7a copyleft GPL. Adicionalmente, a mesma equipe de desenvolvedores est\u00e1 criando vers\u00f5es escritas em Rust para os conjuntos de utilit\u00e1rios util-linux, diffutils, findutils e procps, bem como para os programas sed e login.          <\/p>\n<p>Na nova vers\u00e3o do Rust Coreutils:  <\/p>\n<ul>\n<li class=\"l\"> Melhorada a compatibilidade com o conjunto de testes de refer\u00eancia do GNU Coreutils, passando com sucesso 544 testes, 12 a mais do que na vers\u00e3o anterior (532). 56 (68) testes falharam e 33 (33) testes foram ignorados. O n\u00edvel de compatibilidade declarado \u00e9 de 85,80% (era 83,91%).\n<li class=\"l\"> Na ferramenta data, a compatibilidade com o GNU date foi aprimorada ao lidar com fusos hor\u00e1rios (agora \u00e9 poss\u00edvel especificar abrevia\u00e7\u00f5es de fusos hor\u00e1rios na op\u00e7\u00e3o \u2014set).\n<li class=\"l\"> Na utilidade factor, o pacote num_prime foi integrado para acelerar a fatora\u00e7\u00e3o dos tipos u64\/u128.\n<li class=\"l\"> Na utilidade tsort, a implementa\u00e7\u00e3o do algoritmo de busca DFS foi alterada de um m\u00e9todo recursivo para um m\u00e9todo iterativo para evitar estouros de pilha.\n<li class=\"l\"> Na utilidade cksum, foi implementado suporte para hashes sha2 e sha3. Adicionados testes para monitorar mudan\u00e7as de desempenho do cksum. A funcionalidade hashsum foi transferida para o cksum.\n<li class=\"l\"> Na utilidade mkdir, foi corrigido um estouro de pilha que causava falhas ao criar grandes (mais de 200) n\u00fameros de diret\u00f3rios aninhados.\n<li class=\"l\"> Nas utilidades stdbuf e uptime, foi implementado suporte para a plataforma OpenBSD.\n<li class=\"l\"> Melhorada a compila\u00e7\u00e3o e os testes na plataforma FreeBSD.\n<li class=\"l\"> Feitas melhorias gerais para aumentar a portabilidade.\n<li class=\"l\"> Ampliadas as funcionalidades, resolvidos problemas e adicionadas op\u00e7\u00f5es faltantes para as utilidades 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>Al\u00e9m disso, pode-se notar a discrep\u00e2ncia no comportamento da ferramenta \u00abdu\u00bb dos conjuntos uutils e GNU Coreutils, que surgiu ap\u00f3s a transi\u00e7\u00e3o do Ubuntu 25.10 para uutils. Os desenvolvedores ainda n\u00e3o decidiram se essa discrep\u00e2ncia deve ser tratada como um erro, uma vez que, por um lado, o comportamento do uutils \u00e9 l\u00f3gico e o conjunto de testes do GNU Coreutils n\u00e3o revela problemas, mas, por outro lado, as incompatibilidades com o GNU Coreutils devem ser tratadas como erros, e o comportamento do Busybox corresponde ao do GNU Coreutils.    <\/p>\n<p>Comportamentos diferentes s\u00e3o observados ao especificar m\u00faltiplos diret\u00f3rios como argumentos para a ferramenta \u00abdu\u00bb, quando alguns desses diret\u00f3rios s\u00e3o subdiret\u00f3rios de outros (por exemplo, \/var e \/var\/log). O uutils mostra o tamanho real de cada diret\u00f3rio individual, enquanto na linha final exibe o tamanho total de todos os diret\u00f3rios especificados. O GNU Coreutils mostra na linha final o tamanho real que os diret\u00f3rios ocupam em disco, mas na lista separada indica os tamanhos de cada diret\u00f3rio, desconsiderando os subdiret\u00f3rios, o que resulta em tamanhos menores do que o real. Al\u00e9m disso, os valores exibidos pelo GNU Coreutils e pelo Busybox variam de acordo com a ordem dos diret\u00f3rios especificados.       <\/p>\n<p>Por exemplo, ao verificar o tamanho dos diret\u00f3rios \u00ab\/var\/log\u00bb e \u00ab\/var\u00bb, cujos tamanhos reais s\u00e3o 1540 e 35495 bytes, o GNU Coreutils exibir\u00e1:         du -smc \/var\/log \/var     1540    \/var\/log     33955   \/var # menor que o real     35495   total       du -smc \/var \/var\/log      35495   \/var # apenas \/var \u00e9 mostrado e \/var\/log n\u00e3o \u00e9 exibido     35495   total      <\/p>\n<p>Nos uutils:       du -smc \/var\/log \/var     1540    \/var\/log     35495   \/var     37033   total # maior que o real, mas corresponde \u00e0 soma de \/var e \/var\/log       du -smc \/var \/var\/log     35495   \/var       1540    \/var\/log     37033   total # maior que o real, mas corresponde \u00e0 soma de \/var e \/var\/log      <\/p>\n<p>No Busybox:       du -smc \/var\/log \/var     1540    \/var\/log     33955   \/var # menor que o real     35495   total       du  -smc \/var \/var\/log     35495   \/var # apenas \/var \u00e9 mostrado e \/var\/log n\u00e3o \u00e9 exibido     35495   total<br \/>\n<br \/>Fonte: <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.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.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\/pt\/blog\/news\/vypusk-rust-coreutils-0-4-rashozhdenie-povedeniya-utility-du-v-uutils-i-gnu-coreutils\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47Lan\u00e7amento do Rust Coreutils 0.4. Discrep\u00e2ncia no comportamento da ferramenta du entre uutils e GNU Coreutils | ProHoster","description":"Foi lan\u00e7ada a vers\u00e3o 0.4.0 do projeto uutils coreutils (Rust Coreutils), que desenvolve um equivalente ao pacote GNU Coreutils, escrito na linguagem Rust.","canonical_url":"https:\/\/prohoster.info\/pt\/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":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/147854","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=147854"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/147854\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=147854"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=147854"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=147854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}