Lansarea setului de utilitare de bază sistemice GNU Coreutils 9.0

Este disponibilă versiunea stabilă a setului de utilitare de bază GNU Coreutils 9.0, care include programe precum sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls etc. Schimbarea semnificativă a numărului versiunii se explică prin modificările în comportamentul unor utilitare.

Modificări cheie:

  • În utilitarele cp și install, modul copy-on-write este activat implicit în timpul copiatului (utilizând ioctl ficlone pentru partajarea datelor între mai multe fișiere în loc de a crea un clon complet).
  • În utilitarele cp, install și mv sunt utilizate mecanismele de accelerare a operațiunilor de copiere oferite de sistem (folosind apelul sistemului copy_file_range pentru a efectua copierea exclusiv în partea de kernel fără a transfera datele în memoria procesului în spațiul utilizatorului).
  • În utilitarele cp, install și mv, pentru a determina golurile din fișiere se utilizează un apel lseek+SEEK_HOLE mai simplu și mai portabil în loc de ioctl+FS_IOC_FIEMAP.
  • În utilitarul wc, pentru a accelera numărarea liniilor, sunt utilizate instrucțiuni AVX2. Utilizând această optimizare, viteza wc a crescut de 5 ori.
  • În utilitarul cksum a fost adăugată opțiunea „-a” (—algorithm) pentru a alege algoritmul de hashing. Pentru a accelera calculul sumelor de control în utilitarul cksum, sunt utilizate instrucțiuni pclmul în modul „—algorithm=crc”, permițând accelerarea calculului de până la 8 ori. Pe sistemele fără suport pclmul, modul crc a fost accelerat de 4 ori. Celelalte algoritmi de hashing (sum, md5sum, b2sum, sha*sum, sm3 etc.) sunt implementați prin apelarea funcțiilor libcrypto.
  • În utilitarele md5sum, cksum, sha*sum și b2sum, atunci când se folosește flagul „—check”, este permisă prezența secvenței CRLF la sfârșitul liniei cu suma de control. În „cksum —check” este asigurată detectarea automată a algoritmului de hashing folosit.
  • În utilitarul ls a fost adăugată opțiunea „—sort=width” pentru a sorta după lungimea numelui fișierului, precum și opțiunea „—zero” pentru a termina fiecare linie cu un caracter null. Comportamentul vechi a fost restaurat, ceea ce duce la afișarea unui director gol în loc de o eroare în cazul procesării unui director șters.
  • În utilitarul df a fost implementată detectarea sistemelor de fișiere de rețea acfs, coda, fhgfs, gpfs, ibrix, ocfs2 și vxfs.
  • În utilitarele stat și tail a fost adăugată suportul pentru tipuri de FS „devmem”, „exfat”, „secretmem”, „vboxsf” și „zonefs”. Pentru „vboxsf”, pentru a urmări modificările în „tail -f” s-a utilizat polling, iar pentru celelalte – inotify.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster