Lançamento do conjunto GNU Coreutils 9.0 de utilitários principais do sistema

Uma versão estável do conjunto GNU Coreutils 9.0 de utilitários básicos do sistema está disponível, que inclui programas como sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls, etc. A mudança significativa no número da versão se deve a mudanças no comportamento de alguns utilitários.

Principais mudanças:

  • Os utilitários cp e install são padronizados para o modo copy-on-write ao copiar (usando ioctl ficlone para compartilhar dados entre vários arquivos em vez de criar um clone completo).
  • Os utilitários cp, install e mv usam mecanismos fornecidos pelo sistema para acelerar as operações de cópia (usando a chamada do sistema copy_file_range para executar apenas a cópia do lado do kernel, sem transferir dados para a memória do processo no espaço do usuário).
  • Os utilitários cp, install e mv usam uma chamada lseek+SEEK_HOLE mais simples e portátil em vez de ioctl+FS_IOC_FIEMAP para detectar vazios de arquivos.
  • O utilitário wc usa instruções AVX2 para acelerar o cálculo do número de linhas. Ao usar esta otimização, a velocidade do banheiro aumentou 5 vezes.
  • A opção "-a" (--algorithm) foi adicionada ao utilitário cksum para selecionar um algoritmo de hash. Para acelerar o cálculo de somas de verificação no utilitário cksum, instruções pclmul são usadas ao usar o modo “--algorithm=crc”, que acelera os cálculos em até 8 vezes. Em sistemas sem suporte pclmul, o modo crc é 4 vezes mais rápido. Os algoritmos de hash restantes (sum, md5sum, b2sum, sha*sum, sm3, etc.) são implementados chamando funções libcrypto.
  • Nos utilitários md5sum, cksum, sha*sum e b2sum, o uso do sinalizador “--check” permite a presença de uma sequência CRLF no final da linha de checksum. "cksum --check" fornece detecção automática do algoritmo de hash usado.
  • O utilitário ls adicionou uma opção "--sort=width" para classificar pelo comprimento do nome do arquivo, bem como uma opção "--zero" para encerrar cada linha com um caractere nulo. O comportamento antigo foi retornado, fazendo com que um diretório vazio fosse mostrado em vez de um erro ao processar um diretório remoto.
  • O utilitário df implementa a detecção de sistemas de arquivos de rede acfs, coda, fhgfs, gpfs, ibrix, ocfs2 e vxfs.
  • Suporte para tipos de sistema de arquivos “devmem”, “exfat”, “secretmem”, “vboxsf” e “zonefs” foi adicionado aos utilitários stat e tail. Para “vboxsf”, a pesquisa é usada para rastrear alterações em “tail -f” e, para o restante, o inotify é usado.

Fonte: opennet.ru

Adicionar um comentário