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

24 сентября 2021 года

Доступна стабильная версия набора базовых системных утилит 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.

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск набора базовых системных утилит GNU Coreutils 9.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.