12 человек за 12 недель добавили более 120 коммитов. Результатом стала вышедшая 6 января новая версия GNU Coreutils 8.15. Была добавлена новая программа, realpath, а также исправлено несколько ошибок. Хорошо, что эти ошибки, как это и происходит в последнее время, обнаруживаются лишь в «пыльных углах» кода, и лишь немногие из них воспроизводятся достаточно часто.
Существенные изменения
- Новые программы
- realpath выводит абсолютные имена файлов.
- Исправленные ошибки
- du -x более не подсчитывает корневые каталоги других файловых систем (ошибка появилась в coreutils-5.1.0);
- команду ls --color <директория с большим количеством файлов> нельзя было прервать слишком долго (ошибка появилась в coreutils-5.2.1);
- параметр -k команды ls больше не влияет на то, как ls -l отображает размеры файлов, влияет только на отображение общего числа блоков в директории и отображение размеров файлов при использовании параметра -s. Это сделано для совместимости с BSD и соответствия стандарту POSIX 2008. Поскольку опция -k теперь не эквивалентна --block-size\1KiB, добавлена новая опция — --kilobyte;
- в ls -l понемногу утекала память для каждой непустой директории при использовании SELinux (возможно, ошибка появилась в coreutils-6.0, когда была добавлена поддержка SELinux);
- rm -rf падала с ошибкой «Device or resource busy» в Cygwin на файловых системах NWFS и NcFsd. Это никак не затрагивает системы с ядрми Linux или Unix (ошибка появилась в coreutils-8.0, когда rm стала использовать fts);
- split -n 1/2 FILE теперь не падает при обработке растущих файлов или (на некоторых системах) таких необычных файлов, как /dev/zero. Эта команда могла бы выдать: «/dev/zero: No such file or directory» даже если этот файл очевидно существует. То же и для -n l/2. Ошибка появилась в coreutils-8.8 вместе с этими дополнительными опциями;
- stat -f теперь распознаёт файловые системы FhGFS и PipeFS;
- tac более не падает при обработке двух и более входных файлов, для которых невозможно выполнить fseek (ошибка появилась в coreutils-5.3.0);
- tail -f более не пытается использовать inotify в файловых системах GPFS или FhGFS.
- Изменения в поведении
- df отображает длинные названия файловых систем с UUID в списке по умолчанию. При использовании достаточно нового ядра и пользовательского окружения такие длинные названия могут использоваться, перенося часть колонок вправо. Если длинное имя указывает на символическую ссылку, а ФС не указаны, df выводит короткое название.
- tail -f теперь использует polling (не inotify), если какой-то из файлов лежит на файловой системе неизвестного типа. Дополнительно, для каждого такого файла выводится предупреждение, magic number файловой системы и просьба отправить это число по адресу bug-coreutils@gnu.org.
>>> Подробности