Lansarea setului GNU Coreutils 9.0 de utilitare de bază ale sistemului

Este disponibilă o versiune stabilă a setului de utilități de sistem de bază GNU Coreutils 9.0, care include programe precum sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls etc. Modificarea semnificativă a numărului de versiune se datorează modificărilor comportamentului unor utilitare.

Schimbări cheie:

  • Utilitarele cp și de instalare folosesc implicit modul copiere la scriere la copiere (folosind ioctl ficlone pentru a partaja date în mai multe fișiere în loc să creeze o clonă completă).
  • Utilitarele cp, install și mv folosesc mecanisme furnizate de sistem pentru a accelera operațiunile de copiere (folosind apelul de sistem copy_file_range pentru a efectua numai copierea la nivelul nucleului, fără a transfera date în memoria de proces din spațiul utilizatorului).
  • Utilitarele cp, install și mv folosesc un apel lseek+SEEK_HOLE mai simplu și mai portabil în loc de ioctl+FS_IOC_FIEMAP pentru a detecta golurile de fișiere.
  • Utilitarul wc folosește instrucțiunile AVX2 pentru a accelera calculul numărului de linii. Când utilizați această optimizare, viteza wc a crescut de 5 ori.
  • Opțiunea „-a” (--algorithm) a fost adăugată la utilitarul cksum pentru a selecta un algoritm de hashing. Pentru a accelera calculul sumelor de control în utilitarul cksum, instrucțiunile pclmul sunt utilizate atunci când se utilizează modul „--algorithm=crc”, care accelerează calculele de până la 8 ori. Pe sistemele fără suport pclmul, modul crc este de 4 ori mai rapid. Algoritmii de hashing rămași (sum, md5sum, b2sum, sha*sum, sm3 etc.) sunt implementați prin apelarea funcțiilor libcrypto.
  • În utilitatile md5sum, cksum, sha*sum și b2sum, utilizarea flag-ului „--check” permite prezența unei secvențe CRLF la sfârșitul liniei de sumă de control. „cksum --check” oferă detectarea automată a algoritmului de hashing utilizat.
  • Utilitarul ls a adăugat o opțiune „--sort=width” pentru a sorta după lungimea numelui fișierului, precum și o opțiune „--zero” pentru a termina fiecare linie cu un caracter nul. Vechiul comportament a fost returnat, determinând ca un director gol să fie afișat în loc de o eroare la procesarea unui director la distanță.
  • Utilitarul df implementează detectarea sistemelor de fișiere din rețea acfs, coda, fhgfs, gpfs, ibrix, ocfs2 și vxfs.
  • Suport pentru tipurile de sisteme de fișiere „devmem”, „exfat”, „secretmem”, „vboxsf” și „zonefs” a fost adăugat la utilitatile stat și tail. Pentru „vboxsf”, sondarea este folosită pentru a urmări modificările în „tail -f”, iar pentru restul, este folosit inotify.

Sursa: opennet.ru

Adauga un comentariu