Foi publicado o lançamento do projeto uutils coreutils 0.8.0 (Rust Coreutils), que desenvolve uma alternativa ao pacote GNU Coreutils, escrita em Rust. O coreutils inclui mais de cem utilitários, incluindo sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln e ls. O objetivo do projeto é criar uma implementação alternativa multiplataforma do Coreutils, capaz de funcionar em plataformas como Windows, Redox e Fuchsia.
Rust Coreutils é utilizado por padrão no lançamento do Ubuntu 25.10 e é aplicado nas distribuições AerynOS (Serpent OS) e Apertis (desenvolvido pela Collabora). Ao contrário do GNU Coreutils, a implementação em Rust é distribuída sob a licença permissiva MIT, em vez da licença copyleft GPL. Além disso, a mesma equipe de desenvolvedores também está trabalhando em implementações em Rust dos conjuntos de utilitários util-linux, diffutils, findutils, procps e acl, bem como dos programas sed e login.
Na nova versão do Rust Coreutils:
- O nível de compatibilidade com o conjunto de testes de referência do GNU Coreutils foi de 94,74% (anteriormente 94,59%). Um total de 630 testes foram executados com sucesso, um a mais do que na versão anterior (629). 21 testes falharam (anteriormente 23), e 14 testes foram ignorados (anteriormente 13).
- Nos utilitários cat, df, wc, tty, tsort, tail, touch, date, mkdir e uucore, o pacote crate nix foi substituído por rustix. O volume de código unsafe foi reduzido nos utilitários hostname, logname, who e nice.
- Foram realizadas otimizações de desempenho nos utilitários dd (+45%), ls, sort, wc, cat, tee, numfmt (+3%) e pr. O tamanho dos arquivos executáveis true, false e echo foi reduzido.
- Em mais de 70 utilitários, incluindo ls, head, cat, cp, mv, sort e tail, foi adicionada suporte para compilação no formato WebAssembly e uso da interface WASI (WebAssembly System Interface). Um serviço online de demonstração com um terminal interativo foi preparado, onde é possível executar utilitários uutils.
- As capacidades foram expandidas, problemas foram resolvidos e opções ausentes foram adicionadas aos utilitários cat, chown, cksum, cp, cut, date, dd, df, env, expand, expr, factor, head, install, ln, ls, mkdir, nice, numfmt, od, pr, sort, split, stdbuf, stty, sync, tee, timeout, touch, tr, true, tsort, tty, wc e yes.
Fonte: opennet.ru
