Rilascio di GNU Coreutils 9.0

È disponibile una versione stabile del set GNU Coreutils 9.0 di utilità di sistema di base, che include programmi come sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls, ecc. Il cambiamento significativo nel numero di versione è dovuto ai cambiamenti nel comportamento di alcune utilità.

Modifiche principali:

  • Le utilità cp e install utilizzano per impostazione predefinita la modalità copia su scrittura durante la copia (utilizzando ioctl ficlone per condividere i dati su più file invece di creare un clone completo).
  • Le utilità cp, install e mv utilizzano meccanismi forniti dal sistema per velocizzare le operazioni di copia (utilizzando la chiamata di sistema copy_file_range per eseguire solo la copia lato kernel, senza trasferire i dati alla memoria del processo nello spazio utente).
  • Le utilità cp, install e mv utilizzano una chiamata lseek+SEEK_HOLE più semplice e portabile invece di ioctl+FS_IOC_FIEMAP per rilevare i file vuoti.
  • L'utilità wc utilizza le istruzioni AVX2 per velocizzare il calcolo del numero di linee. Utilizzando questa ottimizzazione, la velocità del WC è aumentata di 5 volte.
  • L'opzione "-a" (--algorithm) è stata aggiunta all'utility cksum per selezionare un algoritmo di hashing. Per accelerare il calcolo dei checksum nell'utilità cksum, vengono utilizzate le istruzioni pclmul quando si utilizza la modalità “--algorithm=crc”, che accelera i calcoli fino a 8 volte. Sui sistemi senza supporto pclmul, la modalità crc è 4 volte più veloce. I restanti algoritmi di hashing (sum, md5sum, b2sum, sha*sum, sm3, ecc.) sono implementati chiamando le funzioni libcrypto.
  • Nelle utilità md5sum, cksum, sha*sum e b2sum, l'utilizzo del flag “--check” consente la presenza di una sequenza CRLF alla fine della riga di checksum. "cksum --check" fornisce il rilevamento automatico dell'algoritmo di hashing utilizzato.
  • L'utilità ls ha aggiunto un'opzione "--sort=width" per ordinare in base alla lunghezza del nome file, nonché un'opzione "--zero" per terminare ogni riga con un carattere null. È stato restituito il vecchio comportamento, causando la visualizzazione di una directory vuota invece di un errore durante l'elaborazione di una directory remota.
  • L'utilità df implementa il rilevamento dei file system di rete acfs, coda, fhgfs, gpfs, ibrix, ocfs2 e vxfs.
  • Il supporto per i tipi di file system "devmem", "exfat", "secretmem", "vboxsf" e "zonefs" è stato aggiunto alle utilità stat e tail. Per "vboxsf", viene utilizzato il polling per tenere traccia delle modifiche in "tail -f", mentre per il resto viene utilizzato inotify.

Fonte: opennet.ru

Aggiungi un commento