Выпуск набора базовых системных утилит GNU Coreutils 9.0

Kate

Administrator
Команда форума
Доступна стабильная версия набора базовых системных утилит GNU Coreutils 9.0, в состав которого входят такие программы, как sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls и т.д. Значительная смена номера версии объясняется наличием изменений в поведении некоторых утилит.

Ключевые изменения:

  • В утилитах cp и install по умолчанию при копировании задействован режим copy-on-write (использование ioctl ficlone для совместного использования данных в нескольких файлах вместо создания полного клона).
  • В утилитах 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.

 
Сверху