Релиз набора базовых системных утилит 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» теперь может переписать более новые файлы в директории в процессе переноса жестких ссылок из источника.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.