Rilascio della suite di utilità di sistema GNU Coreutils 9.0

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

Principali modifiche:

  • Nelle utilità cp e install, per impostazione predefinita, è attivata la modalità copy-on-write durante la copia (utilizzo di ioctl ficlone per condividere dati in più file anziché creare un clone completo).
  • Nelle utilità cp, install e mv sono stati implementati meccanismi di accelerazione delle operazioni di copia forniti dal sistema (utilizzo della chiamata di sistema copy_file_range per eseguire la copia interamente nel codice del kernel senza trasferire dati nella memoria del processo nello spazio utente).
  • Nelle utilità cp, install e mv per identificare gli spazi vuoti nei file è stata adottata una chiamata più semplice e portabile lseek+SEEK_HOLE anziché ioctl+FS_IOC_FIEMAP.
  • Nell'utilità wc, per accelerare il conteggio delle righe, sono state utilizzate istruzioni AVX2. Con questa ottimizzazione, la velocità di wc è aumentata di 5 volte.
  • Nell'utilità cksum è stata aggiunta l'opzione «-a» (—algorithm) per selezionare l'algoritmo di hash. Per accelerare il calcolo dei checksum, l'utilità cksum utilizza le istruzioni pclmul quando si utilizza la modalità «—algorithm=crc», consentendo di ridurre i tempi di calcolo fino a 8 volte. Nei sistemi privi di supporto pclmul, la modalità crc accelera i calcoli di 4 volte. Gli altri algoritmi di hash (sum, md5sum, b2sum, sha*sum, sm3, ecc.) sono implementati tramite l'invocazione delle funzioni libcrypto.
  • Negli strumenti md5sum, cksum, sha*sum e b2sum, l'uso del flag «—check» consente la presenza della sequenza CRLF alla fine della riga con il checksum. In «cksum —check», è garantita la determinazione automatica dell'algoritmo di hash utilizzato.
  • Nell'utilità ls è stata aggiunta l'opzione «—sort=width» per ordinare in base alla lunghezza del nome del file, così come l'opzione «—zero» per terminare ogni riga con un carattere nullo. È stato ripristinato il comportamento precedente, che porta a mostrare una directory vuota invece di un errore in caso di elaborazione di una directory rimossa.
  • Nell'utilità df è stata implementata la determinazione dei file system di rete acfs, coda, fhgfs, gpfs, ibrix, ocfs2 e vxfs.
  • Nelle utility stat e tail è stato aggiunto il supporto per i tipi di FS «devmem», «exfat», «secretmem», «vboxsf» e «zonefs». Per «vboxsf», per monitorare le modifiche in «tail -f» è stato utilizzato il polling, mentre per gli altri si utilizza inotify.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster