Lançamento do uutils 0.10, uma versão do GNU Coreutils em Rust

Foi lançado o projeto uutils coreutils 0.10.0 (Rust Coreutils), que desenvolve uma alternativa ao pacote GNU Coreutils, escrito 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 na versão Ubuntu 25.10 e parcialmente na Ubuntu 26.04. Rust Coreutils também é aplicado nas distribuições AerynOS (Serpent OS) e Apertis (desenvolvido pela Collabora). Ao contrário do GNU Coreutils, a implementação em Rust é licenciada sob uma licença permissiva MIT, em vez de uma licença copyleft GPL. Além disso, a mesma equipe de desenvolvedores está criando versões escritas em Rust para os conjuntos de utilitários util-linux, diffutils, findutils, procps e acl, assim como os programas sed e login.

Na nova versão do Rust Coreutils:

  • O nível de compatibilidade com o conjunto de testes padrão do GNU Coreutils foi de 93,48% (anteriormente 90,58%). Foram executados com sucesso 645 testes, 20 a mais do que na versão anterior (625). 29 testes falharam (antes eram 56), um teste resultou em erro e 15 testes foram pulados (anteriormente 8).
  • Foram resolvidas discrepâncias específicas 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 na melhoria da segurança foi continuado para evitar vulnerabilidades causadas por condições de corrida, que permitem a alteração de dados no momento após a validação das informações, mas antes da execução da operação com elas, como substituir um arquivo por um link simbólico entre a conclusão da verificação e o início da execução da operação. No contexto do uso dos utilitários cp, chmod e mv em scripts de sistema executados com permissões root, essas vulnerabilidades permitem copiar ou sobrescrever arquivos arbitrários. A proteção dos utilitários touch, mkfifo, mkdir, mknod, mv, chroot, head, split e chcon foi reforçada.
  • Foi realizado trabalho para eliminar encerramentos inesperados através do mecanismo panic 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.
  • Realizou-se a otimização de desempenho dos utilitários cksum, sum, split, expand/unexpand, base*, tee, cat, cp, mv, expr e uniq, du.
  • Foi adicionada suporte para o alvo de compilação wasm32-wasip2.
  • No utilitário mv, foi implementada a opção "—exchange" para trocar dois arquivos ou diretórios.
  • No utilitário install, foi implementada a opção "—reflink" e possibilitada a utilização conjunta das opções "-C" e "—preserve-timestamps".
  • Foi adicionada a opção "—one-file-system" ao utilitário rm.
  • No utilitário cut, foi disponibilizada a funcionalidade para trabalhar com codificações multibyte ao utilizar locais que não sejam UTF-8.
  • Para cálculo rápido de checksums, foi utilizado o backend OpenSSL.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster