В новой версии GNU coreutils изменений немного, и все они выглядят безопасными.
- Исправленные ошибки
- id и groups, будучи запущены без аргумента, указывающего имя пользователя, в ряде случаев могли отображать группы, которые не являются ни реальными, ни эффективными. Например, при запуске set-GID или в сессии, когда группа была изменена, но еще не стала эффективной (ошибка появилась в версии coreutils 8.1);
- команда cp S D избавлена от состояния гонок. Если удалить существующий файл D после того, как команда cp выполнит stat, но до того, как она выполнит open, то ранее cp прекращала работу с непонятным для пользователя сообщением об ошибке «файл D не найден». Теперь же cp пытается просто открыть файл с флагом O_CREATE;
- split --number=C /dev/null более не приводит к бесконечному циклу в ОС GNU/Hurd (ошибка появилась в coreutils-8.8);
- stat более не сообщает об отрицательном размере файлов для огромных файлов (ошибка появилась в coreutils-8.8).
- Новые особенности
- split и truncate теперь позволяют работать с любым файлом, допускающим произвольный доступ в ситуациях, когда необходимо знать размер файла, теперь это могут быть не только обычные файлы;
- fmt теперь принимает опцию --goal=ШИРИНА (-g);
- stat -f распознает новые файловые системы: bdevfs, indefs, qnx6.
- Изменения в поведении
- cp,mv,install,cat,split теперь пишут и читают блоками по 64KiB вместо 32KiB в прошлых версиях, это увеличивает производительность на 64-битных системах GNU/Linux;
- cp --attributes-only больше не обрезает существующий файл, предоставляя более общий способ переноса атрибутов с файла на файл.
>>> Подробности