Nahradenie nástroja GNU Coreutils v distribúcii Ubuntu 25.10 nástrojom Rust Coreutils (uutils) spôsobilo poruchu skriptu na automatickú kontrolu aktualizácií balíkov. Medzi iným prestal fungovať mechanizmus automatickej inštalácie aktualizácií na odstránenie zraniteľností, ktorý sa používa v niektorých inštaláciách Ubuntu Desktop a Ubuntu Server, ako aj v konfiguráciách pre cloudové systémy a kontajnery. Chyba neovplyvnila operácie ručnej inštalácie aktualizácií pomocou príkazov podobných apt.
Problém vznikol kvôli dodaniu utilitky „date“ z balíka uutils, v ktorej nebola implementovaná možnosť „-r“ („—reference=file“), vracajúca čas poslednej modifikácie zadaného súboru. Uvedenie tejto možnosti v utilite „date“ sa prijímalo parserom, ale logika spracovania možnosti chýbala v kóde, takže namiesto času poslednej modifikácie súboru sa vždy vracalo aktuálne čas.
Príkaz „date“ s možnosťou „-r“ sa používal v denne spúšťanom skripte „apt.systemd.daily“ na určenie času modifikácie súboru „/var/lib/apt/periodic/upgrade-stamp“, ktorý sa používal na výpočet času poslednej inštalácie aktualizácií. Keďže volanie „date“ s možnosťou „-r“ nevyvolalo chybu a vracalo aktuálne čas, skript vždy považoval, že v systéme sú nainštalované najnovšie aktualizácie.
Pozoruhodné je, že v git-repozitári uutils bola zmena s riadne fungujúcou plnou podporou možnosti „-r“ pridaná mesiac pred vydaním Ubuntu 25.10, ale nebola zahrnutá v balíku rust-coreutils0.2.2-0ubuntu2, ktorý sa stal súčasťou Ubuntu 25.10. Chýbajúce hlásenie o chybe pri volaní nefungujúcej možnosti neumožnilo odhaliť problém pri automatizovanom testovaní. Problém bol vyriešený v aktualizácii balíka rust-coreutils 0.2.2-0ubuntu2.1, pre jehož inštaláciu môžete použiť príkaz „sudo apt install —update rust-coreutils“.
Zdroj: opennet.ru
