GNU Coreutils 9.2 - Now Avoids cp/mv Allocating Too Much Memory
![GNU](/assets/categories/gnu.webp)
GNU Coreutils 9.2 has a wide variety of new features, bug fixes, and other enhancements. Some of the Coreutils 9.2 changes catching my interest include:
- The cp, mv, and install commands now avoid allocating too much memory. With the behavior on prior releases it's possible to trigger memory exhaustion failures on file-systems like ZFS. This issue had been happening since GNU Coreutils 6.0.
- The rm command will now fail gracefully when memory is exhausted.
- The cp, mv, and install commands will now also immediate acknowledge transient errors when creating copy-on-write or cloned reflink files with file-systems like XFS and Btrfs.
- stty now properly wraps output for the terminal width.
- The "wc -c" command will now efficiently determine the size of large files on all systems, fixing an issue from earlier releases.
- Coreutils programs now support the new Ronna (R) and Quetta (Q) SI prefixes for 10^27 and 10^30.
- The mv command now supports a "--no-copy" option where it will fail when trying to move a file to a different file-system.
- The cp --sparse=auto, mv, and install commands will now use the copy_file_range system call with sparse files for more efficient copies.
More details on the GNU Coreutils 9.2 changes via its release announcement.
28 Comments