Ubuntu soll moderner werden – mit Rust-Tools
Das Ubuntu-Userland soll moderner werden, indem die GNU Coreutils durch ihre in Rust programmierten Pendants abgelöst werden. Das hat Jon Seager, Softwareentwickler und Vizepräsident Engineering bei Canonical, in einem Beitrag im Ubuntu-Forum angekündigt. Bereits die übernächste Ubuntu-Version 25.10, die im Oktober erscheint, soll das uutils-Paket mitbringen. Wenn alles funktioniert wie geplant, könnten die Rust-Tools dann Bestandteil der nächsten LTS-Version Ubuntu 26.04 werden.
Das GNU-Coreutils-Paket, das seit den 1970er Jahren in der Sprache C entwickelt wird, enthält über 100 klassische Unix-Kommandozeilenprogramme wie cp, ls, mv und rm. Es steht unter der GPL. Im MIT-lizenzierten uutils-Projekt werden diese Tools neu in Rust geschrieben. Ziel ist dabei hundertprozentige Kompatibilität zu den Coreutils, wie uutils-Entwickler Daniel Hofstetter erklärt. Anwender sollen keinen Unterschied bemerken und Skripte, die diese Tools verwenden, ohne Anpassungen weiter funktionieren.
Daneben gibt es Ansätze, gängige Tools in Rust neu zu interpretieren – mit neuen Optionen, verbessertem Output und mehr Möglichkeiten, aber inkompatibel zu den klassischen GNU-Programmen. So sind die Rust-Programme exa, lsd und natls leistungsfähige Alternativen zum ls-Kommando, um den Inhalt von Verzeichnissen auszugeben.
Wichtigstes Motiv für die Umstellung der Kommandozeilentools auf die uutils ist laut Jon Seager ihre höhere Sicherheit und geringere Anfälligkeit gegenüber Angriffen. Die gegenüber C optimierte Speicherverwaltung verhindert eine Reihe von Schwachstellen im Zusammenhang mit Speicherfehlern, für die C-Programme berüchtigt sind.
Experimentierfreudige Ubuntu-Nutzer können schon jetzt mit den Rust-Tools experimentieren. Jon Seager hat das Tool oxidizr geschrieben, mit dem sich zwischen den klassischen GNU- und den neuen Rust-Programmen hin- und herschalten lässt. Das funktioniert für die Coreutils, die Findutils (find und xargs), die Diffutils (cmp, diff, diff3 und sdiff) sowie sudo-rs, eine Rust-Implementierung des sudo-Befehls. In seinem Beitrag im Ubuntu-Forum erklärt Seager, wie man damit arbeitet.