Из-за ошибки в uutils в Ubuntu 25.10 перестала работать автоматическая проверка наличия обновлений

Замена в дистрибутиве Ubuntu 25.10 инструментария GNU Coreutils на Rust Coreutils (uutils) привела к нарушению работы скрипта для автоматической проверки наличия обновлений пакетов. Среди прочего, оказался неработоспособен механизм автоматической установки обновлений с устранением уязвимостей, применяемый в некоторых установках Ubuntu Desktop и Ubuntu Server, а также в конфигурациях для облачных систем и контейнеров. Сбой не затронул операции ручной установки обновлений с использованием команд, подобных apt.

Проблема возникла из-за поставки утилиты «date» из набора uutils, в которой не была реализована опция «-r» («—reference=file»), выводящая время изменения заданного файла. Указание данной опции в утилите «date» принималось парсером, но логика обработки опции отсутствовала в коде, поэтому вместо времени последнего изменения файла всегда возвращалось текущее время.

Команда «date» c опцией «-r» использовалась в ежедневно вызываемом скрипте «apt.systemd.daily» для определения времени модификации файла «/var/lib/apt/periodic/upgrade-stamp», которое использовалось для вычисления времени последней установки обновлений. Так как вызов «date» с опцией «-r» не приводил к выводу ошибки и возвращал текущее время, скрипт всегда считал, что в системе установлены самые свежие обновления.

Примечательно, что в git-репозитории uutils изменение с корректно работающей полной поддержкой опции «-r» было добавлено за месяц до релиза Ubuntu 25.10, но оно не было включено в пакет rust-coreutils0.2.2-0ubuntu2, вошедший в состав Ubuntu 25.10. Отсутствие вывода ошибки при вызове неработающей опции не позволило выявить проблему при автоматизированном тестировании. Проблема устранена в обновлении пакета rust-coreutils 0.2.2-0ubuntu2.1, для установки которого можно использовать команду «sudo apt install —update rust-coreutils».

Источник: http://www.opennet.ru/opennews/art.shtml?num=64108