What is the difference between coreutils-from-uutils and rust-coreutils? #uutils
What is the difference between coreutils-from-uutils and rust-coreutils? #uutils
The Rust uutils' du command in Ubuntu 25.10 shows incorrect disk size usage when parent and subdirectories overlap. A Bug Report Filed.
More details here: https://ostechnix.com/rust-uutils-du-command-wrong-size-ubuntu-25-10/
#du #Directorysize #Diskusage #Rust #Uutils #Ubuntu2510 #Bug #Linux
@lobocode @jbz They started out of curiosity, then safer tools for scripts used by admins make sense, then they were confident enough to be considered as replacement. They ended up being 3.7× faster on average than original, fixing bugs in original in the process.
Quite an achievement, despite the bug they introduced in 25.10 by switching (but that's #Canonical fault, not #uutils; they should test better).
Оказывается, если в проде использовать ещё не готовый софт, то что-то может сломаться.
В Ubuntu 25.10 системные GNU coreutils заменили растовой реализацией uutils.
И заодно сломали автоматические обновления: в утилите date не был реализован флаг -r для чтения времени модификации файла, она просто выводила текущее время, из-за чего скрипт считал, что версия файла свежая.
Помимо больших вопросов к менеджменту, который так активно продвигает uutils и sudo-rs, мне также интересно, почему скрипт автообновления использует date, а не stat, и почему программа вывода/парсинга даты и времени вообще должна работать с файлами (до сегодняшнего дня я не знал о существовании -r).
Анонс в почтовой рассылке
Ченджлог к 0.2.2-0ubuntu2.1
LP #2127970
PR #8630
Das Uutils-Projekt re-implementiert die GNU Coreutils in Rust. Trotz des kleinen Versionssprungs umfasst das aktuelle Update einige Änderungen – angefangen bei der Übersetzung der Ausgaben bis zu einem flotten „tr“. Ubuntu wird zudem die Rust Coreutils standardmäßig nutzen. Die Re-Implementierung der GNU Coreutils soll die Basiswerkzeuge eines jeden Linux-Systems schneller und sicherer machen. Die Entwicklung erfolgt dabei unter dem Dach des Uutils-Projekts, weshalb die Programmsammlung vielerorts nur kurz „Uutils“ heißt. Die neue Version 0.2 bringt vor allem eine große Neuerung mit: Die im Paket enthaltenen Werkzeuge wie „mv“ und „cp“ unterstützen eine Internationalisierung und Lokalisierung. Die Rust Coreutils nutzen dabei im Hintergrund das Fluent Framework von Mozilla. Damit unterstützen die Programme auch komplexe Pluralformen aus dem Arabischen und Hebräischen, obendrein lassen sich alle Fehlermeldung von „clap“ lokalisieren. Die eigentlichen Übersetzungen verfassen die Entwickler auf der Plattform Weblate, die fertigen Texte sammelt ein eigenes Repository. In der Version 0.2.0 steht bereits eine französische Übersetzung zur Verfügung. Des Weiteren haben die Entwickler die Geschwindigkeit erhöht. Unter anderem „sort“ und „cat“ gehen jetzt noch flotter zu Werke. Besonders eifrig ist „tr“: War es in der Vorversion noch fast zehnmal so langsam wie das gleichnamige GNU-Pendant, läuft es jetzt 1,58-mal schneller als das Vorbild. Sämtliche Programme verarbeiten ab sofort Dateinamen, die nicht in der Zeichenkodierung UTF-8 vorliegen. Des Weiteren jonglieren die Tools alle Unicode-Zeichen. So kann man etwa „cut“ auch auf Emojis ansetzen. Canonical möchte das kommende Ubuntu auf die Rust Coreutils umstellen. Das Uutils-Projekt hat daher verstärkt an der Stabilität der Tools gefeilt und die Kompatibilität erhöht. So erfüllen die Rust Coreutils jetzt 16 weitere Kompatibilitätstests und somit insgesamt 538 von 618. Grundlage ist hier die GNU Testsuite.