Release of the GNU Coreutils 9.0 set of core system utilities

A stable version of the GNU Coreutils 9.0 set of basic system utilities is available, which includes programs such as sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls, etc. The significant change in the version number is due to the presence of changes in the behavior of some utilities.

Key changes:

  • The cp and install utilities use copy-on-write mode by default when copying (using ioctl ficlone to share data across multiple files instead of creating a full clone).
  • The cp, install, and mv utilities use system-provided mechanisms to speed up copy operations (using the copy_file_range system call to perform kernel-only copying without committing data to user-space process memory).
  • The cp, install, and mv utilities use the simpler and more portable lseek+SEEK_HOLE instead of ioctl+FS_IOC_FIEMAP to detect voids in files.
  • The wc utility uses AVX2 instructions to speed up the count of the number of lines. When using this optimization, the speed wc increased by 5 times.
  • Added "-a" (--algorithm) option to cksum utility to select hashing algorithm. To speed up the calculation of checksums in the cksum utility, the pclmul instructions are used when using the β€œ-algorithm=crc” mode, which made it possible to speed up the calculations up to 8 times. On systems without pclmul support, crc mode is 4 times faster. Other hashing algorithms (sum, md5sum, b2sum, sha*sum, sm3, etc.) are implemented by calling libcrypto functions.
  • In the md5sum, cksum, sha*sum, and b2sum utilities, when using the "--check" flag, the presence of a CRLF sequence at the end of the checksum string is allowed. "cksum --check" provides automatic detection of the used hashing algorithm.
  • Added "--sort=width" option to ls utility to sort by filename length, and "--zero" option to terminate each line with a null character. Reverted the old behavior causing an empty directory to be shown instead of an error when processing a remote directory.
  • The df utility implements detection of acfs, coda, fhgfs, gpfs, ibrix, ocfs2 and vxfs network file systems.
  • Added support for filesystem types "devmem", "exfat", "secretmem", "vboxsf" and "zonefs" to the stat and tail utilities. For β€œvboxsf”, tail -f uses polling to track changes, and for the rest, inotify.

Source: opennet.ru

Add a comment