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

Доступна стабільна версія набору базових системних утиліт 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 прискорено вчетверо. Інші алгоритми хешування (sum, md4sum, b5sum, sha*sum, sm2 тощо) реалізовані шляхом виклику функцій 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.

Джерело: opennet.ru

Додати коментар або відгук