Сообщается о выходе новой версии GNU Coreutils 8.13 (GNU Core Utilities — пакет ПО GNU, содержащий большое количество основных утилит, таких как cat, ls и rm, необходимых для UNIX-подобных ОС), которая включает более 200 изменений-коммитов (commit) от 18 разработчиков, а также более 1000 коммитов из gnulib, внесенных со времени выхода Coreutils 8.12. Большее количество этих изменений направлено на усовершенствование кода, улучшение портируемости, добавление новых возможностей, и лишь малая часть заключается в исправлении ошибок.
Изменения в поведении:
- cp -au при явном указании — preserve=links теперь может замещать более новые файлы в каталоге назначения, чтобы отображать жесткие ссылки из источника;
- chmod, chown и chgrp теперь отображают оригинальные атрибуты, когда указываются опции -v и -c.
Новая функциональность:
- date теперь обрабатывает строки в формате ISO 8601 с T в качестве символа-разделителя, такие как 2004-02-29T16:21:42 или 2004-02-29T16:21:42.333-07:00 (с указанием часового пояса и долей секунды);
- md5sum, sha1sum, sha224sum, sha384sum и sha512sum с опциями —strict —check теперь возвращают ненулевой результат (выдают ошибку) при любой некорректной строке на входе, а не ограничиваются просто предупреждением;
- split —filter=CMD позволяет пропустить вывод команды через фильтр CMD; CMD в свою очередь может использовать значение переменной окружения $FILE, которая содержит имя выходного файла во время каждого запуска CMD, например, если мы хотим разбить файл на три приблизительно равные части и сжать их, то теперь это может быть сделано командой split -n3 —filter='xz $FILE.xz' big (обратите внимание, что кавычки должны быть одинарными, а не двойными);
- timeout принимает новую опцию —foreground для поддержки команд, запускаемых не напрямую из командной строки, если команда интерактивна или должна получать сигналы из терминала.
Улучшения:
- cp -p теперь копирует тривиальные NFSv4 ACLs на Solaris 10 (ранее эта команда ошибочно применила бы нетривиальные ACL к файлу назначения);
- благодаря улучшениям в gnulib, cp и ls теперь поддерживают ACL в системе HP-UX 11.11;
- df теперь поддерживает дисковые разделы величиной более 4TiB в MacOS X 10.5 и новее и AIX 5.2 и новее;
- join —check-order теперь выводит сообщение join: FILE:LINE_NUMBER: bad_line для неотсортированного файла, а не просто join: file 1 is not in sorted order;
- shuf гораздо более эффективно выводит небольшие подмножества больших перестановок, например, `shuf -i1-$((2**32-1)) -n2' больше не потребляет память в непомерных количествах;
- stat -f теперь распознает файловые системы GPFS, MQUEUE и PSTOREFS;
- timeout теперь поддерживает доли секунды для задания интервалов, и др.