Состоялся релиз комплекта стандартных низкоуровневых системных утилит util-linux 2.30, в который входят как тесно связанные с Linux-ядром утилиты, так и утилиты общего назначения.
Например, в пакете представлены утилиты mount/umount, fdisk, hwclock, cal, blkid, fsck/cfdisk/sfdisk, blockdev, chrt, mkfs, ionice, more, renice, su, kill, setsid, login, shutdown, dmesg, lscpu, logger, losetup, setterm, mkswap, swapon, taskset и т.п.
Основные улучшения:
• В библиотеке libblkid добавлена поддержка гибридных носителей CDROM/DVD, что позволило улучшить совместимость пользовательского окружения Linux с гибридными носителями, созданными в других ОС. Для гибридных CDROM/DVD метка тома и UUID извлекаются из заголовка UDF, а не из заголовка ISO9660, что может привести к регрессивным изменениям, в случае если в заголовках ISO и UDF указаны разные метки тома;
• Из поставки удалена команда tailf, которая ранее была объявлена устаревшей (следует использовать «tail -f» из состава coreutils);
• Добавлена новая команда blkzone для манипуляции с зонированными блочными устройствами с поддержкой набора команд ZBC (Zoned Block Commands) или ZAC (Zoned-device ATA Commands). В настоящее время поддерживаются только команды ‘report’ и ‘reset’;
• Добавлена новая команда fincore для подсчёта страниц памяти, содержащих контент заданного файла;
• Добавлена новая команда lsmem для вывода диапазонов доступной памяти и их статуса;
• Добавлена новая команда chmem для присвоения диапазонам памяти статуса online/offline;
• В команду fallocate добавлена поддержка операции «insert range»;
• Реализация команд «column -t|—table» переведена наиспользование библиотеки libsmartcols, почти все возможности которой теперь доступны из командной строки, включая вывод заголовков таблиц, перегруппировка столбцов, выравнивание столбцов, древовидный вывод, выравнивание данных в ячейках, обрезание текста в ячейках и т.п.
• В libmount добавлен API для генерации кодов возврата и сообщений об ошибках/предупреждениях в форме, совместимой с утилитой mount;
• В hwclock убраны все внутренние проверки прав доступа (использовались при поставке с флагом suid, которые теперь не рекомендован для hwclock), в пользу внешнего разграничения доступа к часам реального времени (RTC);
• В util-linux 2.30 отмечена ещё не исправленная уязвимость CVE-2016-2779, которая позволяет использовать утилиту runuser для выхода из контекста родительского сеанса через отправку специально оформленного ioctl-вызова TIOCSTI, подставляющего символы в буфер терминала. Проблема остаётся неисправленной из-за возникающих после исправления регрессивных изменений, которые приведут к нарушению привычного поведения утилит su и runuser при ограничении доступа к ioctl TIOCSTI через setsid(). Как вариант рассматривается возможность создания нового ioctl для отключения TIOCSTI без setsid() или перенос обработки pty-контейнеров в пространство пользователя (планируется как экспериментальная возможность утилиты su).