Джим Мейеринг (Jim Meyering) объявил о выходе новой версии GNU Coreutils. Выход этой версии главным образом связан с исправлением ряда ошибок. Хотя были сделаны и некоторые улучшения.
Заметные изменения
- Новые возможности:
- у dd появилась новая опции 'status=none', подавляющая весь информационный вывод;
- md5sum теперь принимает опцию '--tag' для вывода в стиле BSD c GNU-экранированием имен файлов.
- Исправленные ошибки:
- cp ранее могла читать из освобожденной памяти и даже делать поврежденные копии. Это могло происходить при работе с сильно фрагментированными разреженными файлами в системах GNU/Linux. Ошибка могла проявляться и в работе программ mv, install (ошибка появилась в версии coreutils-8.11);
- cp --no-preserve=mode больше не сохраняет права оригинального файла, а корректно устанавливает права, определенные по 0666 & ~umask;
- du больше не выдаёт сообщений в духе «disk-corrupted», когда встречает зацикленные каталоги, появившиеся из-за монтирования с опцией bind. Теперь du точно определяет, что же произошло, сообщает об этом и выходит с ненулевым кодом завершения;
- factor (используя gmp) неверно объявлял некоторые составные числа простыми. Например, 465658903, 2242724851, 6635692801 и многие другие. Исправление сделало работу программы в 8 раз медленнее в худших случаях (ошибка появилась в coreutils-7.0);
- ls теперь корректно раскрашивает повисшие символические ссылки, когда выводится содержащая их директория, а раскрашивание осиротевших ссылок отключено в LS_COLORS (ошибка появилась в coreutils-8.14);
- rm -i -d теперь спрашивает пользователя перед удалением пустой директории вместо того, чтобы упасть с сообщением об ошибке «is a directory» (ошибка появилась в версии 8.19 вместе с добавлением опции -d);
- rm -r S/ (где S — символическая ссылка на каталог) больше не выдаёт некорректное диагностическое сообщение «Too many levels of symbolic links» (ошибка появилась в coreutils-8.6);
- seq теперь поддерживает любые неотрицательные целые числа, когда не указан формат, а инкремент равен единице. Ранее, например, b=100000000000000000000; seq $b $b могла приводить к бесконечному циклу (ошибка была с самого начала).
- Изменения в поведении:
- nproc now diagnoses with an error, non option command line parameters.
- Улучшения:
- переписано ядро программы factor, так что она теперь работает довольно быстро и может работать с числами вплоть до 2^128 даже без использования GMP. Для некоторых больших чисел время работы сократилось в 10000 раз. Кроме того, новый код использует детерминированный алгоритм для каждого простого множителя, а не только вероятностную проверку;
- seq теперь работает во много раз быстрее для неотрицательных целых чисел, когда инкремент равен единице, а опция форматирования не указана;
- stat и tail теперь знают про файловые системы ZFS, VZFS и VMHGFS. stat -f --format=%T теперь сообщает тип файловой системы; tail -f теперь использует inotify при работе с ZFS и VZFS.
>>> Подробности