Canonical stellt Migrationsplan für die Rust-Coreutils vor

Ubuntu-Logo

Ubuntu-Logo

In Ubuntu 25.10 will Canonical die grundlegenden Kommandozeilenwerkzeuge wie „ls“ oder „cp“ gegen eine Neuimplementierung in Rust austauschen. Den nicht ganz trivialen Weg dorthin hat jetzt Julian Andres Klode im Ubuntu-Forum vorgestellt.

Bereits vor einem Monat hatten die Ubuntu-Entwickler den Wechsel auf die Rust-Alternativen angekündigt. Die Neuimplementierung soll weniger anfällig für Speicherfehler sein und somit die Sicherheit erhöhen. Das spielt vor allem auf Servern eine Rolle. Zu den GNU Core Utilities (kurz Coreutils) gehören allerdings essenzielle Kommandozeilenwerkzeuge, deren Austausch zu vielen Nebeneffekten führen kann. Ubuntu-Nutzer sollen daher bei Bedarf zu den GNU Coreutils zurückkehren können.

Mehr Pakete

Dazu benennen die Entwickler zunächst das bisherige Paket „coreutils“ in „gnu-coreutils“ um. Die Programme in diesem Paket erhalten zudem das Präfix „gnu“. So heißt „cp“ etwa „gnucp“. Analog stecken die in Rust implementierten Pendants im Paket „rust-coreutils“.

Ein Haufen an symbolischen Links stellt schließlich noch sicher, dass die korrekten Programme und Dateien aufgerufen werden. Sind etwa die Rust-Werkzeuge eingespielt, zeigt „/usr/share/man/man1/ls.1.gz“ auf „/usr/share/man/man1/rust-ls.1.gz“. Die symbolischen Links stellen gleich mehrere Pakete bereit, deren Namen mit „coreutils-from“ beginnen.

Das alte Paket „coreutils“ bleibt leer. Es dient lediglich dazu, die Abhängigkeiten korrekt aufzulösen. Mit weiteren Maßnahmen stellen die Entwickler zudem sicher, dass die passenden Pakete nicht (versehentlich) deinstalliert werden können.

Ungelöste Probleme

Bei der Migration gibt es noch ein paar weitere ungelöste Stolperfallen. So belegen die Rust-Implementierungen mehr Speicherplatz. Das wirkt sich negativ auf die „minimalen“ Ubuntu-Fassungen aus. So steigt etwa der Platzbedarf des Docker-Containers um 18 MByte auf 93 MByte. Das Ubuntu-Team überlegt daher, auf solchen Systemen die alten Coreutils weiterzuverwenden.

Weitere Probleme entstehen im Zusammenspiel mit der Sicherheitstechnik AppArmor: Bei der Rust-Implementierung vereint das zentrale Programm „coreutils“ alle zuvor einzelnen Befehle wie „ls“ und „cp“, die nur noch symbolische Links sind. Ein Aufruf von „/usr/bin/ls“ führt somit tatsächlich zu einem Aufruf von „/usr/bin/coreutils“. Dies erschwert es allerdings, passende Sicherheitsprofile für AppArmor zu schreiben.

Der veröffentlichte Migrationsweg ist bislang nur ein Vorschlag. Wie die Ubuntu-Entwickler den Umstieg genau lösen, wird sich erst in den nächsten Monaten zeigen. Der Wechsel auf die Rust-Implementierungen dürfte aber in Ubuntu 25.10 kommen.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben