Sobre o projeto

uutils coreutils é uma reimplementação multiplataforma do GNU coreutils escrita em Rust. O projeto afirma que todos os programas foram implementados, embora algumas opções possam estar ausentes ou o comportamento possa diferir. Diferenças em relação ao GNU são tratadas como bugs. Os objetivos incluem corresponder exatamente à saída padrão e códigos de erro do GNU, fornecer diagnósticos de erro de análise no estilo de compilador em um terminal, mantendo mensagens GNU simples para scripts e pipes, suporte abrangente de internacionalização UTF-8, trabalho contínuo de desempenho (desacelerações significativas em relação a outras implementações de coreutils são tratadas como bugs) e extensões opcionais como --progress. O projeto visa funcionar em Linux, macOS, *BSD, Windows, WASI e outras plataformas para que scripts possam ser movidos entre elas. Ele é incluído por padrão no Ubuntu desde a versão 25.10. A compilação é possível com Cargo ou GNU Make. O Cargo compila um binário multicall (tipo BusyBox) chamado coreutils por padrão; conjuntos específicos de plataforma podem ser selecionados com recursos como windows, unix ou feat_wasm para wasm32-wasip1. Utilitários específicos de SELinux (chcon, runcon) requerem libselinux e libclang. Um recurso openssl pode acelerar utilitários de soma de verificação usando libcrypto, com vinculação estática por padrão e vinculação dinâmica opcional via OPENSSL_NO_VENDOR=1. Utilitários individuais podem ser compilados como binários separados, cada um em seu próprio pacote chamado uu_UTILNAME. A instalação pode ser feita com cargo install ou make install, com opções para pular utilitários, adicionar um prefixo de programa, instalar um binário multicall, definir PREFIX/DESTDIR e pular conclusões ou páginas de manual. O binário uudoc gera conclusões de shell para bash, elvish, fish, powershell e zsh, e páginas de manual para utilitários individuais. A desinstalação espelha o método de instalação escolhido. Binários pré-compilados, páginas de manual e conclusões de shell são fornecidos a partir do branch principal, com uma tag estável mais recente para empacotamento reproduzível. Os relatores de bugs são solicitados a usar o binário do commit mais recente. O README também vincula a um gráfico de acompanhamento de compatibilidade do conjunto de testes GNU, documentação de usuário e desenvolvedor, um playground WebAssembly e Weblate para traduções. O projeto é licenciado sob MIT, enquanto o GNU Coreutils é GPL 3.0 ou posterior.