Релиз набора базовых системных утилит GNU Coreutils 8.13
Вышла новая стабильная версия набора базовых системных утилит GNU Coreutils 8.13, в состав которого входят такие программы, как sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls и т.д.С момента выхода coreutils-8.12 в утилиты новой версии Coreutils включено почти 200 коммитов от 18 человек, в gnulib добавлено более 1000 коммитов. Для сравнения, в последние годы, с среднем на релиз приходилось 90-100 коммитов. В анонсе сказано, что увеличение числа коммитов не связано с выявлением большого числа ошибок - число исправленных ошибок относительно небольшое. Значимая часть изменений является результатом работы по улучшению переносимости, надёжности и тестированию, а также добавлению новых функций.
Краткое резюме изменений:
- Команда date стала поддерживать даты в формате ISO 8601, использующем для разделения строк "T", например, вместо "2004-02-29 16:21:42" - "2004-02-29T16:21:42". Также реализовано аннотированное отображение часового пояса, например "2004-02-29T16:21:42.333-07:00";
- В утилитах md5sum, sha1sum, sha224sum, sha384sum и sha512sum реализована опция "--strict", которая при указании совместно с опцией "--check" сразу завершает раблту и возвращает ненулевой код возврата при наличии недопустимых символов во входной строке (ранее просто выдавалось предупреждение);
- В split добавлена опция "--filter=CMD", где CMD - это команда, которая будет использована в качестве фильтра для каждой порции данных (ссылка на текущий файл передается через переменную окружения $FILE). Например, "split -n3 --filter='xz > $FILE.xz'" - разобьёт файл на три примерно равные части и сожмет каждую часть утилитой xz (в итоге получим файлы xaa.xz, xab.xz и xac.xz);
- Утилиты использующие fts (rm, du, chmod, chgrp, chown, chcon) более не потребляют память пропорционально числу записей в каждом обрабатываемом каталоге. Ранее "rm -rf" 4-миллиона-директорий потребляла около 1 Гб памяти. Теперь, она использует менее 30 Мб, вне зависимости от числа записей. Эта ошибка присуща fts, следовательно ошибка в утилите rm появилась с "внедрением" fts, в coreutils-8.0. Предыдущие реализации rm не использовали столько памяти. du, chmod, chgrp и chown начали использовать fts в версии 6.0. chcon была добавлена в coreutils-6.9.91 с использование fts. pr -T более не игнорирует указание LAST_PAGE. Ошибка появилась в textutils-1.19q;
- В утилиту timeout добавлена опция "--foreground" для поддержки команд не запускаемых напрямую из приглашения командной строки, например, когда команда выполняет интерактивные действия;
- В "cp -p" добавлена поддержка копирования нетривиальных NSFv4 ACL в Solaris 10;
- В cp и ls добавлена поддержка ACL HP-UX 11.11;
- В df добавлена поддержка дисковых разделов больше 4 Тб на платформах MacOS X 10.5 и AIX 5.2;
- При выполнении "stat -f" теперь распознаются типы файловых систем GPFS, MQUEUE и PSTOREFS;
- В timeout добавлена возможность указания долей секунды;
- Увеличена переносимость и улучшены возможности по сборке в библиотеке gnulib;
- Утилиты chown и chgrp с параметрами "-v --from=, теперь корректно отображают владельца файла. Т.е. для пропущенных файлов отображается оригинальные владелец и группа, а не "целевые". Ошибка появилась в sh-utils-2.0g. Пример:
$ ls -l -rw-r--r-- 1 root bar 0 Сен 9 00:00 file chown_8.11 -v --from=foo foo:users file владелец файла оставлен как foo:users chown_8.13 -v --from=foo foo:users file владелец файла оставлен как root:bar
- Команда "cp -r" могла ошибочно изменить права существующего целевого каталога. Ошибка появилась в coreutils-6.8;
- "split --number l/.." больше не создает посторонних файлов в определённых случаях;
- chmod, chown и chgrp, при указании -v или -c, теперь выводят оригинальные атрибуты в сообщениях;
- Команда "cp -au" при работе в режиме "--preserve=links" теперь может переписать более новые файлы в директории в процессе переноса жестких ссылок из источника.
© OpenNet