La sostituzione nel pacchetto di distribuzione Ubuntu 25.10 degli strumenti GNU Coreutils con Rust Coreutils (uutils) ha portato al malfunzionamento dello script per il controllo automatico degli aggiornamenti dei pacchetti. Tra l'altro, il meccanismo per l'installazione automatica degli aggiornamenti per la risoluzione delle vulnerabilità, utilizzato in alcune installazioni di Ubuntu Desktop e Ubuntu Server, non ha funzionato, così come nelle configurazioni per sistemi cloud e container. L'errore non ha influenzato le operazioni di installazione manuale degli aggiornamenti utilizzando comandi come apt.
Il problema è sorto a causa della fornitura dell'utilità «date» dal pacchetto uutils, in cui non era stata implementata l'opzione «-r» («--reference=file»), che mostra l'orario dell'ultima modifica del file specificato. L'indicazione di questa opzione nell'utilità «date» veniva accettata dal parser, ma la logica di gestione dell'opzione era assente nel codice, pertanto invece dell'orario dell'ultima modifica del file veniva sempre restituito l'orario attuale.
Il comando «date» con l'opzione «-r» veniva utilizzato nello script chiamato quotidianamente «apt.systemd.daily» per determinare l'orario di modifica del file «/var/lib/apt/periodic/upgrade-stamp», che veniva utilizzato per calcolare il tempo dell'ultimo aggiornamento installato. Poiché la chiamata a «date» con l'opzione «-r» non generava un errore e restituiva l'orario attuale, lo script considerava sempre che nel sistema fossero installati gli aggiornamenti più recenti.
È interessante notare che nel repository git di uutils una modifica con il supporto completo e funzionante per l'opzione «-r» è stata aggiunta oltre un mese prima del rilascio di Ubuntu 25.10, ma non è stata inclusa nel pacchetto rust-coreutils 0.2.2-0ubuntu2, incluso in Ubuntu 25.10. L'assenza di un messaggio di errore durante la chiamata a un'opzione non funzionante non ha permesso di identificare il problema durante i test automatizzati. Il problema è stato risolto nell'aggiornamento del pacchetto rust-coreutils 0.2.2-0ubuntu2.1, per l'installazione del quale è possibile utilizzare il comando «sudo apt install --update rust-coreutils».
Fonte: opennet.ru
