Páginas

quinta-feira, 17 de setembro de 2026

Rust Coreutils 0.12: a revolução silenciosa nos comandos do Linux

 

Descubra o Rust Coreutils 0.12: comandos Linux até 3,7x mais rápidos, segurança de memória Rust e 96,9% de compatibilidade com GNU. Guia completo com checklist e tutorial.


Você já parou para pensar em quanto tempo perde esperando aquele comando ls em uma pasta gigante ou aquele sort em um arquivo de log enorme? Pois é, o Rust Coreutils 0.12 chegou para mudar isso.

O projeto uutils/coreutils, que reescreve as ferramentas essenciais do Linux (como ls, cp, sort, cat) na linguagem Rust, acaba de lançar sua versão 0.12.0. E as mudanças são significativas, especialmente para quem usa Ubuntu, já que o sistema adotou essa implementação como padrão.


O que é o Rust Coreutils e por que isso importa?

O GNU Coreutils é aquele conjunto de comandos básicos que usamos todos os dias no terminal: ls, cp, mv, rm, sort, wc, cat e mais de uma centena de outras ferramentas. Eles existem desde os anos 80 e são escritos em linguagem C.

O problema? A linguagem C não oferece as garantias de segurança de memória que temos hoje. Isso significa que falhas como buffer overflows e use-after-free podem acontecer, abrindo portas para vulnerabilidades.

Aí entra o Rust Coreutils: uma reimplementação completa dessas ferramentas em Rust, uma linguagem moderna que garante segurança de memória sem abrir mão de performance. E não é apenas segurança: em muitos casos, as ferramentas Rust são mais rápidas que suas equivalentes em C.


Principais novidades da versão 0.12.0


Esta versão foi focada em resolver os problemas que a comunidade Ubuntu reportou, já que o Ubuntu agora distribui o uutils como implementação padrão do coreutils.


Produto Recomendado


👨‍💻 Vista o código que você ama!


Camiseta Design Gráfico Programador TI — para quem vive de lógica, café e commits. Estampa moderna, tecido confortável e aquele visual de dev raiz. Perfeita para trabalhar, estudar ou arrasar no home office.


🎁 Presente ideal para programador, analista, estudante de TI ou aquele amigo que só fala em binário.

Camiseta Design grafico Programador TI -> https://link.amazon/B04oDAJ7B

Eu ganho uma comissão eu ganho você faz uma compra.


Compatibilidade com Ubuntu em primeiro lugar


Todos os problemas priorizados pela equipe do Ubuntu foram corrigidos. Entre eles:


  • Perda de dados com install -D paralelo: um bug crítico que causava falhas em builds do kernel. 

  • du em arquiteturas de 32 bits: problema que afetava sistemas mais antigos. 

  • Colisões de nomes com cp -R: comportamento inconsistente ao copiar diretórios recursivamente. 

  • Comportamento do chmod recursivo com links simbólicos

Essas correções mostram que o projeto está levando a sério a missão de ser um substituto drop-in para o GNU Coreutils.


A dependência em C finalmente foi eliminada


Uma das conquistas mais celebradas desta versão: o comando expr não depende mais de código C. A biblioteca onig foi substituída pela fancy-regex, uma implementação puramente em Rust.

Por que isso importa? Significa que o projeto está cada vez mais próximo de ser 100% Rust, eliminando superfícies de ataque potenciais e simplificando o processo de build.


Suporte ao Windows avança


Os comandos nice, nohup e hostid agora podem ser compilados para Windows. Além disso, a camada de sistema de arquivos do uucore foi reescrita com wrappers seguros do Win32, eliminando o uso de código inseguro.


Performance agora é prioridade


Uma mudança importante na filosofia do projeto: a partir desta versão, se uma ferramenta do uutils for significativamente mais lenta que a equivalente do GNU, isso é tratado como um bug, não como um item de lista de desejos.

Isso é enorme. Significa que a equipe está comprometida não apenas com segurança, mas com desempenho de verdade.


Rust Coreutils vs GNU Coreutils: qual a diferença na prática?


Se você ainda está em dúvida se vale a pena experimentar, aqui estão alguns números que falam por si:



Esses dados são de versões anteriores do projeto, mas mostram o potencial da implementação em Rust.

Um usuário relatou que, em um arquivo de log de centenas de megabytes, o sort do GNU levou 2,819 segundos, enquanto a implementação Rust completou a mesma tarefa em 0,092 segundos.


O que está funcionando (e o que ainda não está)


Segundo o relatório mais recente, o uutils está com 653 testes passando e apenas 21 falhando na suíte de testes do GNU. Isso representa uma taxa de sucesso de 96,9% nos testes que efetivamente rodam.

É um número impressionante para um projeto que se propõe a substituir ferramentas com décadas de desenvolvimento.

Dica prática: se você quer testar o uutils sem compromisso, pode instalá-lo em paralelo e usar o comando coreutils ls em vez de simplesmente ls. Assim você compara os resultados sem alterar seu sistema.


Perguntas frequentes (FAQ)


1. O Rust Coreutils é seguro para substituir o GNU Coreutils no meu sistema?

Sim, especialmente se você usa Ubuntu, que já adotou o uutils como implementação padrão. A taxa de compatibilidade com o GNU está em 96,9% e os desenvolvedores tratam qualquer divergência significativa como bug prioritário. Para ambientes de produção críticos, recomenda-se testar primeiro em máquinas de desenvolvimento ou containers.


2. Preciso desinstalar o GNU Coreutils para usar o Rust Coreutils?

Não. Você pode instalar o uutils em paralelo e usá-lo através do comando coreutils, sem remover o GNU Coreutils do sistema. Por exemplo, coreutils ls executa a versão Rust do ls. Isso permite uma transição gradual e segura.


3. Quais são os principais ganhos de performance que posso esperar?

Os ganhos variam conforme o comando e o hardware. Em testes de laboratório, o sort tem mostrado ganhos de até 3,7x, enquanto comandos como expand e nl apresentam melhorias entre 1,5x e 1,8x. Em discos NVMe modernos, a diferença é mais perceptível em operações com grandes volumes de dados.



📋 Checklist para testar o Rust Coreutils


Copie e cole este checklist para não esquecer nenhum passo:


Verificar se o Rust está instalado: rustc --version

Instalar o uutils: cargo install coreutils ou via gerenciador de pacotes

Testar comandos básicos: coreutils ls, coreutils cp, coreutils sort

Comparar performance com GNU: time sort arquivo.txt vs time coreutils sort arquivo.txt

Verificar compatibilidade de scripts existentes

Reportar bugs encontrados no GitHub do projeto

Considerar contribuir com traduções ou código


Conclusão: o futuro do terminal é Rust


O Rust Coreutils 0.12 não é apenas mais uma versão. É a consolidação de um movimento que está reescrevendo as fundações do Linux com segurança e performance.

Se você é desenvolvedor, sysadmin ou simplesmente alguém que passa horas no terminal, vale a pena ficar de olho nessa tecnologia. E se você quer contribuir com o projeto, o momento é agora: a equipe está ativamente buscando colaboradores para tradução, testes e desenvolvimento.

Que tal testar o uutils agora mesmo? Abra seu terminal e execute:

bash
cargo install coreutils

Ou, se preferir uma abordagem mais simples, verifique se sua distribuição já oferece o pacote:

bash
# Ubuntu/Debian
sudo apt install rust-coreutils

# Fedora
sudo dnf install uutils-coreutils

Compartilhe este artigo com aquele amigo que vive reclamando da lentidão do terminal. E se você já testou o uutils, conta nos comentários qual foi sua experiência!



Nenhum comentário:

Postar um comentário