O projeto uutils coreutils 0.10.0 (Rust Coreutils), um desenvolvimento do pacote GNU Coreutils, escrito em Rust, foi lançado. O coreutils inclui mais de 100 utilitários, incluindo sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln e ls. O objetivo do projeto é criar uma alternativa multiplataforma ao Coreutils, capaz de rodar em plataformas como... WindowsRedox e Fúcsia.
Rust Coreutils habilitado por padrão na versão de lançamento. Ubuntu 25.10 e parcialmente em Ubuntu 26.04 de abril. O Rust Coreutils também é usado nas distribuições AerynOS (Serpent OS) e Apertis (desenvolvida pela Collabora). Ao contrário do GNU Coreutils, a implementação em Rust é distribuída sob a licença permissiva MIT, em vez da GPL copyleft. Além disso, a mesma equipe de desenvolvedores está criando equivalentes em Rust para os conjuntos de utilitários util-linux, diffutils, findutils, procps e acl, bem como para os programas sed e login.
Na nova versão do Rust Coreutils:
- A taxa de compatibilidade com o conjunto de benchmarks GNU Coreutils foi de 93.48% (uma redução em relação aos 90.58% da versão anterior). Foram concluídos com sucesso 645 testes, 20 a mais que na versão anterior (625). Vinte e nove testes falharam (uma redução em relação aos 56 da versão anterior), um teste resultou em erro e 15 testes foram ignorados (uma redução em relação aos 8 da versão anterior).
- Corrigidas algumas discrepâncias com o GNU Coreutils no comportamento dos utilitários pr, nproc, date, numfmt, ls, du, install, od, truncate, fold, head/tail, sum e stat.
- O trabalho continuou para fortalecer a segurança e prevenir vulnerabilidades causadas por condições de corrida, que permitem a modificação de dados após a verificação das informações, mas antes da execução de uma operação. Por exemplo, um arquivo poderia ser substituído por um link simbólico entre a conclusão da verificação e o início da operação. Ao usar os utilitários cp, chmod e mv em scripts de sistema executados com privilégios de root, essas vulnerabilidades permitem que arquivos arbitrários sejam copiados ou sobrescritos. A segurança foi reforçada para os utilitários touch, mkfifo, mkdir, mknod, mv, chroot, head, split e chcon.
- Foram realizados trabalhos para eliminar encerramentos anormais por meio do mecanismo de pânico nos utilitários shuf, printf, numfmt, fmt, pr, chroot, dircolors, install, ln, touch, stat, split, expand, more, kill, cp, du, rm, runcon, sort, chown/chgrp, dirname, expr, cksum, dd, truncate e hashsum.
- O desempenho dos utilitários cksum, sum, split, expand/unexpand, base*, tee, cat, cp, mv, expr, uniq e du foi otimizado.
- Adicionado suporte para o alvo de compilação wasm32-wasip2.
- O utilitário mv implementa a opção "--exchange" para trocar dois arquivos ou diretórios.
- O utilitário de instalação implementa a opção "--reflink" e oferece a possibilidade de usar as opções "-C" e "--preserve-timestamps" em conjunto.
- A opção "--one-file-system" foi adicionada ao utilitário rm.
- O utilitário cut permite trabalhar com codificações multibyte ao usar configurações regionais diferentes de UTF-8.
- O backend OpenSSL é usado para calcular rapidamente os checksums.
Fonte: opennet.ru
