A stabil verziója elérhető a GNU Coreutils 9.0 alapvető rendszersegédeszközeinek készletének, amely olyan programokat tartalmaz, mint a sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls stb. A verziószám jelentős változása néhány segédeszköz viselkedésében végrehajtott változtatásoknak tudható be.
Kulcsfontosságú változások:
- A cp és install segédeszközök alapértelmezés szerint másolás-on-ír módot használnak másoláskor (az ioctl ficlone használatával az adatok megosztására több fájl között a teljes másolat létrehozása helyett).
- A cp, install és mv segédeszközök a rendszer által biztosított mechanizmusokat alkalmazzák a másolási műveletek gyorsítására (a copy_file_range rendszerhívás használatával, amely lehetővé teszi a másolás végrehajtását a kernel oldalán anélkül, hogy az adatokat a felhasználói folyamat memóriájába kellene átvinnie).
- A cp, install és mv segédeszközök a fájlokban lévő üres helyek meghatározásához egyszerűbb és hordozható lseek+SEEK_HOLE hívást használnak az ioctl+FS_IOC_FIEMAP helyett.
- A wc segédeszközben az AVX2 utasításokat használják a sorok számának gyorsabb megszámolására. Ezen optimalizálás használatával a wc sebessége ötszörösére nőtt.
- A cksum segédeszközhöz hozzáadódott az „-a” (—algorithm) opció a hash-algoritmus kiválasztásához. A cksum segédeszközben a hash-ellenőrzések számításának felgyorsítására a pclmul utasításokat használják az „—algorithm=crc” módban, ami lehetővé teszi a számítások nyolcszoros gyorsítását. pclmul támogatás nélküli rendszereken a crc mód négyes gyorsítást ért el. A többi hash-algoritmus (sum, md5sum, b2sum, sha*sum, sm3 stb.) a libcrypto függvények hívásával kerül megvalósításra.
- A md5sum, cksum, sha*sum és b2sum segédeszközökben a „—check” zászló használatakor megengedett a CRLF sorvég karakterek jelenléte a hash-ellenőrzés végén. A „cksum —check” automatikusan meghatározza a használt hash-algoritmust.
- A ls segédeszközhöz hozzáadódott a „—sort=width” opció a fájlnév hossz szerinti rendezéséhez, valamint a „—zero” opció, amely minden sort nullával zár le. Visszaállították a régi viselkedést, ami üres könyvtár megjelenítéséhez vezet ahelyett, hogy hibát jelezne egy eltávolított könyvtár feldolgozásakor.
- A df segédeszközben implementálták a hálózati fájlrendszerek, mint az acfs, coda, fhgfs, gpfs, ibrix, ocfs2 és vxfs azonosítását.
- A stat és tail segédeszközökhöz hozzáadódott a „devmem”, „exfat”, „secretmem”, „vboxsf” és „zonefs” fájltípusok támogatása. A „vboxsf” esetében a „tail -f” esetén a változások nyomon követésére polling, a többi esetben pedig inotify került alkalmazásra.
Forrás: opennet.ru
