{"id":183214,"date":"2026-09-01T10:53:23","date_gmt":"2026-09-01T08:53:24","guid":{"rendered":"https:\/\/prohoster.info\/blog\/news\/vypusk-uutils-0-11-varianta-gnu-coreutils-na-yazyke-rust"},"modified":"2026-09-01T10:53:27","modified_gmt":"2026-09-01T08:53:27","slug":"uutils-0-11-release-a-rust-implementation-of-gnu-coreutils","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/uutils-0-11-release-a-rust-implementation-of-gnu-coreutils","title":{"rendered":"Lan\u00e7amento do uutils 0.11, uma alternativa GNU Coreutils em Rust","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Foi lan\u00e7ado o projeto uutils coreutils 0.11.0 (Rust Coreutils), que desenvolve 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 do Coreutils que seja multiplataforma, capaz de operar em sistemas Windows, Redox e Fuchsia.     <\/p>\n<p>Rust Coreutils \u00e9 utilizado por padr\u00e3o na vers\u00e3o Ubuntu 25.10 e parcialmente na Ubuntu 26.04. Rust Coreutils tamb\u00e9m \u00e9 aplicado 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 licenciada sob uma licen\u00e7a permissiva MIT, em vez de uma licen\u00e7a copyleft GPL. Al\u00e9m disso, a mesma equipe de desenvolvedores est\u00e1 criando vers\u00f5es escritas em Rust para os conjuntos de utilit\u00e1rios util-linux, diffutils, findutils, procps e acl, assim como os programas sed e login.        <\/p>\n<p>Na nova vers\u00e3o do Rust Coreutils:  <\/p>\n<ul>\n<li class=\"l\"> O n\u00edvel de compatibilidade com o conjunto padr\u00e3o de testes do GNU Coreutils foi de 95,33% (anteriormente 94,44%). Foram realizados com sucesso 653 testes, o que \u00e9 8 a mais do que na vers\u00e3o anterior (645). 22 testes falharam (antes eram 29), e 15 testes foram ignorados (mantido o mesmo n\u00famero).\n<li class=\"l\"> Um novo mecanismo para diagnosticar problemas foi integrado, baseado na biblioteca ariadne, e fornece relat\u00f3rios visuais de erros ao executar utilit\u00e1rios no terminal, destacando os argumentos da linha de comando que causaram o problema. A visualiza\u00e7\u00e3o de erros foi implementada nos utilit\u00e1rios chmod, mkdir, mkfifo, mknod, install, tr, expr, sort, numfmt, cut, env, head, tail, truncate, split, shred, stdbuf, od, seq, dd, stat, join, csplit, ls, df e du. Para desabilitar os relat\u00f3rios de diagn\u00f3stico, foi sugerida a vari\u00e1vel de ambiente UUTILS_DIAG.      <center><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/09\/2e9ee81194836b8f3f2fe7505cc84c47.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>\n<li class=\"l\"> Durante a compila\u00e7\u00e3o de releases, foram ativadas otimiza\u00e7\u00f5es baseadas nos resultados da profilagem de c\u00f3digo (PGO \u2014 Profile-guided optimization), permitindo gerar um c\u00f3digo mais otimizado com base na an\u00e1lise das caracter\u00edsticas de execu\u00e7\u00e3o do programa. De acordo com os desenvolvedores, o aumento de desempenho em algumas opera\u00e7\u00f5es chegou a at\u00e9 31%.\n<li class=\"l\"> Foi realizada a otimiza\u00e7\u00e3o de desempenho dos utilit\u00e1rios cp (+32,93%), join (2,5 vezes mais r\u00e1pido do que GNU, por meio da desativa\u00e7\u00e3o de compara\u00e7\u00f5es desnecess\u00e1rias de localidade), od, ptx (+4%), nl, tail, expand, unexpand, numfmt e sort. Situa\u00e7\u00f5es onde a execu\u00e7\u00e3o de opera\u00e7\u00f5es foi notavelmente mais lenta do que no GNU Coreutils passaram a ser consideradas como erros.\n<li class=\"l\"> Foram resolvidas discrep\u00e2ncias individuais no comportamento dos utilit\u00e1rios pr, numfmt, join, id, mkdir, fold, sort, stat, od e date em rela\u00e7\u00e3o ao GNU Coreutils.\n<li class=\"l\"> Implementadas op\u00e7\u00f5es espec\u00edficas para GNU Coreutils: \u201cuname -A\u201d, \u201cuname \u2014all-labeled\u201d, \u201ccut -F\u201d, \u201ccut \u2014whitespace-delimited\u201d, \u201cpr \u2014columns\u201d, \u201cpr \u2014join-lines\u201d, \u201cpr -f\u201d.\n<li class=\"l\"> Nas utilidades mv, cp, rm, chmod e stdbuf, foram realizadas melhorias de seguran\u00e7a para prevenir vulnerabilidades causadas por condi\u00e7\u00f5es de corrida, permitindo a altera\u00e7\u00e3o de dados entre a verifica\u00e7\u00e3o de validade e a execu\u00e7\u00e3o da opera\u00e7\u00e3o, como trocar um arquivo por um link simb\u00f3lico entre a conclus\u00e3o da verifica\u00e7\u00e3o e o in\u00edcio da opera\u00e7\u00e3o. No contexto do uso das utilidades cp, chmod e mv em scripts de sistema executados com privil\u00e9gios de root, tais vulnerabilidades permitem copiar ou sobrescrever arquivos arbitr\u00e1rios.\n<li class=\"l\"> Realizadas corre\u00e7\u00f5es para evitar falhas nas utilidades split, yes, sort, stat, csplit, ls, od, nl, pr, csplit, dd, touch, tail, tac, who.\n<li class=\"l\"> Foram implementadas vers\u00f5es das utilidades kill e uptime para Windows.\n<li class=\"l\"> O uso dos pacotes byteorder, same-file, filetime, winapi-util, file_diff, mockstream, binary-heap-plus, compare, arrayref (recentemente comprometido), exacl e dns-lookup foi descontinuado, em favor das fun\u00e7\u00f5es das bibliotecas std, rustix e windows-sys.\n<li class=\"l\"> As utilidades ls e comm agora suportam propriedades de localidade \u201ccollation\u201d, que permitem realizar compara\u00e7\u00f5es levando em conta o significado dos caracteres (por exemplo, ao comparar, pode-se ignorar o acento).\n<li class=\"l\"> Aprimorada a manipula\u00e7\u00e3o de caracteres multibyte nas utilidades nl e cut.      <\/ul>\n<p>Adicionalmente, a Canonical publicou duas imagens experimentais de cont\u00eaineres com ambiente para desenvolvimento de programas em Rust, de acordo com a especifica\u00e7\u00e3o Dev Container. A primeira imagem inclui Rust 1.93, Cargo, rust-analyzer, Clippy, Rustfmt, Miri (um interpretador para detectar comportamento indefinido), cargo-auditable (auditoria de compila\u00e7\u00f5es), GCC, Clang, LLD, pkg-config, Just, Git, Vim, Helix, Ripgrep, Hyperfine, Bacon, xh e curl. A segunda imagem, al\u00e9m disso, cont\u00e9m pacotes para desenvolvimento no Ubuntu: git-buildpackage, sbuild, ubuntu-dev-tools, devscripts, dh-make, dh-cargo, autopkgtest, cargo-vendor-filterer.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=66185\">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.11.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":10,"featured_media":183216,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-183214","post","type-post","status-publish","format-standard","has-post-thumbnail","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.11.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=\"Alexander Kovalev\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/news\/uutils-0-11-release-a-rust-implementation-of-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 uutils 0.11, \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.11.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\/uutils-0-11-release-a-rust-implementation-of-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=\"2026-09-01T08:53:24+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-09-01T08:53:27+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lan\u00e7amento do uutils 0.11, vers\u00e3o do GNU Coreutils em Rust | ProHoster","description":"Publicada a vers\u00e3o 0.11.0 do projeto uutils coreutils (Rust Coreutils), desenvolvendo uma alternativa ao pacote GNU Coreutils, escrito em Rust.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/uutils-0-11-release-a-rust-implementation-of-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 uutils 0.11, \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.11.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\/uutils-0-11-release-a-rust-implementation-of-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":"2026-09-01T08:53:24+00:00","article:modified_time":"2026-09-01T08:53:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"183214","title":null,"description":null,"keywords":null,"keyphrases":{"focus":[],"additional":[]},"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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-09-09 10:59:27","updated":"2026-09-09 10:59:27","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\/183214","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\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=183214"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/183214\/revisions"}],"predecessor-version":[{"id":183215,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/183214\/revisions\/183215"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/183216"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=183214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=183214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=183214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}