Saadaval on stabiilne versioon GNU Coreutils 9.0 põhiklassi süsteemiteenustest, kuhu kuuluvad sellised programmid nagu sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls jne. Versiooninumbri oluline muudatus on põhjendatud teatud utiliitide käitumise muudatustega.
Olulised muudatused:
- Utiliitides cp ja install on vaikimisi kopeerimise režiim copy-on-write (kasutatakse ioctl ficlone, et jagada andmeid mitmes failis, selle asemel et luua täielikku klooni).
- Utiliitides cp, install ja mv on kasutusel süsteemi pakutavad mehhanismid kopeerimise operaatioonide kiirendamiseks (süsteemi syscalls copy_file_range, et teostada kopeerimist ainult tuuma poolel, edastamata andmeid kasutajaprotsessi mälus).
- Utiliitides cp, install ja mv kasutatakse failides tühikute määramiseks lihtsamat ja ülekantavat lseek+SEEK_HOLE kõnet, mitte ioctl+FS_IOC_FIEMAP.
- Utiliidil wc on ridade arvu loendamise kiirusel kasutatud AVX2 juhiseid. Selle optimeerimise kasutamisel on wc kiirus tõusnud 5 korda.
- cksumi utiliid on lisatud valik "-a" (—algorithm), et valida hash-algoritm. Kontrollsummade arvutamise kiirendamiseks cksumi utiliidis on kasutatud pclmul juhiseid, kui on kasutusel režiim "—algorithm=crc", mis võimaldab arvutusi kiirendada kuni 8 korda. Süsteemides, mis ei toeta pclmul, on crc režiimi kiirus neli korda suurem. Ülejäänud hash-algoritmid (sum, md5sum, b2sum, sha*sum, sm3 jne) on rakendatud libcrypto funktsioonide kutsumise teel.
- md5sum, cksum, sha*sum ja b2sum utiliitides on lipu "—check" kasutamise korral lubatud kontrollsummade real CRLF-järjendi olemasolu. "cksum —check" tagab automaatse tuvastamise kasutatud hash-algoritmil.
- ls utiliidis on lisatud valik "—sort=width" failinime pikkuse järgi sortimiseks, samuti valik "—zero", et lõpetada iga rida nullmärgiga. Tagasi on toodud vana käitumine, mis näitab tühja katalooge ilma veateateta, kui vaadatakse eemalolevat katalooge.
- df utiliidis on rakendatud võrgu failisüsteemide acfs, coda, fhgfs, gpfs, ibrix, ocfs2 ja vxfs tuvastamine.
- Utility stat ja tail on nüüd toetavad FS-tüüpe "devmem", "exfat", "secretmem", "vboxsf" ja "zonefs". Tüübi "vboxsf" puhul kasutatakse "tail -f" jälgimisel pollingut, teiste jaoks aga inotify.
Allikas: opennet.ru
