GNU Core Utilities: 8.15
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