Доступна стабильная версия набора базовых системных утилит GNU Coreutils 9.0, в состав которого входят такие программы, как sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls и т.д. Значительная смена номера версии объясняется наличием изменений в поведении некоторых утилит.
Ключевые изменения:
- В утилитах cp и install по умолчанию при копировании задействован режим copy-on-write (создание полного клона файла вместо совместного использования данных в нескольких файлах).
- В утилитах cp, install и mv задействованы предоставляемые системой механизмы ускорения операций копирования (использование системного вызова copy_file_range для выполнения копирования только на стороне ядра без передачи данных в память процесса в пространстве пользователя).
- В утилитах cp, install и mv для определения пустот в файлах задействован более простой и переносимый вызов lseek+SEEK_HOLE вместо ioctl+FS_IOC_FIEMAP.
- В утилите wc для ускорения подсчёта числа строк задействованы инструкции AVX2. При использовании данной оптимизации скорость wc возросла в 5 раз.
- В утилиту cksum добавлена опция “-a” (–algorithm) для выбора алгоритма хэширования. Для ускорения вычисления контрольных сумм в утилите cksum задействованы инструкции pclmul при использовании режима “–algorithm=crc”, позволившие ускорить вычисления до 8 раз. На системах без поддержки pclmul режим crc ускорен в 4 раза. Остальные алгоритмы хэширования (sum, md5sum, b2sum, sha*sum, sm3 и т.п.) реализованы путём вызова функций libcrypto.
- В утилитах md5sum, cksum, sha*sum и b2sum при использовании флага “–check” разрешено наличие последовательности CRLF в конце строки с контрольной суммой. В “cksum –check” обеспечено автоматическое определение использованного алгоритма хэширования.
- В утилите ls добавлена опция “–sort=width” для сортировки по длине имени файла, а также опция “–zero” для завершения каждой строки нулевым символом. Возвращено старое поведение, приводящие к показу пустой директории вместо ошибки в случае обработки удалённого каталога.
- В утилите df реализовано определение сетевых файловых систем acfs, coda, fhgfs, gpfs, ibrix, ocfs2 и vxfs.
- В утилиты stat и tail добавлена поддержка типов ФС “devmem”, “exfat”, “secretmem”, “vboxsf” и “zonefs”. Для “vboxsf” для слежения за изменениями в “tail -f” задействован полинг, а для остальных – inotify.
Release.
Ссылка here.