Das Versprechen
uutils/coreutils ist ein Rust-basierter Versuch, funktional mit GNU Coreutils gleichzuziehen und zugleich eine speichersichere Alternative zu bieten. In der aktuellen Version Ubuntu 26.04 LTS ist es für 80 Werkzeuge der Standard, bleibt wegen anhaltender Bedenken bei der Logik aber eine Teilimplementierung (computingforgeeks.com, April 2026).
Unter der Haube
Die funktionale Gleichwertigkeit liegt derzeit bei 94,74 %: Diesen Monat bestehen 630 von 665 GNU-Tests (ostechnix.com, April 2026). Benchmarks zeigen deutliche Vorteile bei bestimmten Lasten. In jüngsten Tests war uu-sort bei der Verarbeitung großer Logs fast 30-mal schneller als die klassische GNU-Implementierung (makeuseof.com, Februar 2026).
Ein Sicherheitsaudit von Zellic ergab jedoch insgesamt 113 Befunde, darunter 44 CVEs zu Logikfehlern und TOCTOU-Race-Conditions (Time-of-Check to Time-of-Use) (Ubuntu Discourse, April 2026).
Canonical hat cp, mv und rm ausdrücklich von der standardmäßigen Umstellung auf uutils ausgenommen. Diese kritischen Befehle laufen weiterhin über GNU, um Datenverluste durch 8 ungelöste Race Conditions zu vermeiden, die das Dateisystem verändern (Ubuntu Foundation, April 2026).
Wegen der strikten Durchsetzung von UTF-8 bleibt die Datenintegrität gefährdet. Befehle wie comm und ln können Dateinamen, die als rohe Bytes statt als gültiges UTF-8 gespeichert sind, unbemerkt beschädigen. GNU verarbeitet diese korrekt (Corrode.dev, April 2026).
Auch der Abhängigkeitsbaum bereitet Backend-Architekten Sorgen. GNU coreutils stützt sich fast ausschließlich auf glibc, uutils dagegen zieht rund 50 externe Crates nach sich und vergrößert so die mögliche Angriffsfläche in der Lieferkette (Zellic Audit Report, 2026).
Noch wissen wir nicht, wann die API openat in der Rust-Standardbibliothek stabilisiert wird.
Unsere Einschätzung
Tauschen Sie Ihre zentralen Dateisystemwerkzeuge auf Produktionsservern vorerst nicht gegen uutils aus. Die Speichersicherheit von Rust ist ein Gewinn, kann aber grundlegende Logikfehler oder Race Conditions in rm und mv, die zu Datenverlust führen, nicht beheben. Nutzen Sie die Rust-Implementierung für Pipes mit hohem Durchsatz, wo uu-sort einen klaren Leistungsvorteil bietet. Behalten Sie die GNU-Werkzeuge aber für alles, was tatsächlich auf die Festplatte schreibt. Wie sich zeigt, ist „rewrite it in Rust“ eine Strategie und kein Heilmittel für vierzig Jahre Logik voller Sonderfälle.