Der Austausch der GNU Coreutils durch Rust Coreutils (uutils) im Ubuntu 25.10-Distribution hat zu einem Ausfall des Skripts zur automatischen Überprüfung von Paketaktualisierungen geführt. Unter anderem funktionierte der Mechanismus zur automatischen Installation von Sicherheitsupdates, der in einigen Installationen von Ubuntu Desktop und Ubuntu Server sowie in Konfigurationen für Cloud-Systeme und Container verwendet wird, nicht mehr. Der Fehler betraf nicht die manuellen Update-Installation mit Befehlen wie apt.
Das Problem entstand durch die Bereitstellung des Tools „date“ aus dem uutils-Paket, in dem die Option „-r“ („—reference=file“), die die Änderungszeit einer bestimmten Datei anzeigt, nicht implementiert war. Die Angabe dieser Option im „date“-Tool wurde zwar vom Parser erkannt, jedoch fehlte die Logik zur Verarbeitung der Option im Code, weshalb anstelle der letzten Änderungszeit der Datei immer die aktuelle Zeit zurückgegeben wurde.
Der Befehl „date“ mit der Option „-r“ wurde in einem täglich ausgeführten Skript „apt.systemd.daily“ verwendet, um die Änderungszeit der Datei „/var/lib/apt/periodic/upgrade-stamp“ zu bestimmen, die zur Berechnung der letzten Installationszeit von Updates verwendet wurde. Da der Aufruf von „date“ mit der Option „-r“ keinen Fehler ausgab und die aktuelle Zeit zurückgab, ging das Skript immer davon aus, dass die neuesten Updates im System installiert sind.
Es ist bemerkenswert, dass im Git-Repository von uutils eine Änderung mit korrekt funktionierender vollständiger Unterstützung für die Option „-r“ einen Monat vor der Veröffentlichung von Ubuntu 25.10 hinzugefügt wurde, aber nicht im Paket rust-coreutils 0.2.2-0ubuntu2 enthalten war, das Teil von Ubuntu 25.10 war. Das Fehlen einer Fehlerausgabe beim Aufruf der nicht funktionierenden Option verhinderte die Identifizierung des Problems bei automatisierten Tests. Das Problem wurde im Update des Pakets rust-coreutils 0.2.2-0ubuntu2.1 behoben, das mit dem Befehl „sudo apt install --update rust-coreutils“ installiert werden kann.
Quelle: opennet.ru
