Künstliche Intelligenz
Rust Coreutils 0.6 erreicht 96 Prozent GNU-Kompatibilität
Die Entwickler der Rust Coreutils haben Version 0.6 veröffentlicht. Die Rust-Neuimplementierung klassischer Unix-Werkzeuge erreicht damit 96,28 Prozent Kompatibilität zur GNU-Test-Suite und besteht 622 von 646 Tests. Gegenüber der im Dezember erschienenen Version 0.5 mit 87,75 Prozent Kompatibilität bedeutet das einen Sprung von über acht Prozentpunkten.
Weiterlesen nach der Anzeige
Besonders bemerkenswert: Die Zahl der fehlgeschlagenen Tests sank von 55 auf nur noch 16, während die Anzahl übersprungener Tests von 23 auf 7 zurückging. Die Entwickler testeten gegen die GNU Coreutils 9.9 als Referenz.
Weniger unsicherer Code
Ein Schwerpunkt der neuen Version liegt auf der Reduzierung von unsafe Code. Die Entwickler entfernten unsichere Passagen in den Utilities date, sort und locale.rs. Statt direkter libc-Aufrufe nutzt die Software nun das nix-Crate, das sichere Rust-Wrapper um POSIX-Systemaufrufe bereitstellt.
Für die Tools rm, du, chmod und chgrp verwenden die Entwickler ab Version 0.6 die System-Calls openat und unlinkat über das nix-Crate für sichere Directory-Traversal. Diese Änderungen eliminieren ganze Klassen von Sicherheitslücken wie Buffer Overflows oder Use-After-Free-Fehler, die bei direkten libc-Aufrufen auftreten können.
Performance-Optimierungen
Version 0.6 bringt Performance-Verbesserungen für mehrere Tools. Die Base-Encoding-Utilities base32, base64 und basenc arbeiten durch reduzierte memset-Operationen schneller. Das Tool shuf erhielt eine optimierte numerische Ausgabe und eine neue Option --random-seed. Bei date beschleunigt ein BufWriter das Batch-Processing, während uniq die Speichernutzung für Case-Insensitive-Vergleiche optimiert.
Das Tool tsort vermeidet nun das vollständige Einlesen der Eingabe in den Speicher, was bei großen Datenmengen deutliche Vorteile bringt. Auch df profitiert von einem verbesserten Dateisystem-Handling.
Weiterlesen nach der Anzeige
Bessere Internationalisierung
Die neue Version erweitert die Lokalisierungsunterstützung erheblich. Das Tool date nutzt jetzt ICU-Support für locale-aware Datums- und Monatsbezeichnungen sowie Stundenformatierung und Kalenderunterstützung. In sort funktioniert die numerische Sortierung ab sofort mit Tausendertrennzeichen, während join locale-aware Collation unterstützt. Die Entwickler integrieren zudem Weblate für Community-Übersetzungen.
Erweiterte Plattformunterstützung
Rust Coreutils 0.6 unterstützt offiziell RISC-V 64-bit mit musl-Target in der CI-Pipeline. Die Cygwin-Unterstützung für Windows-Nutzer wurde ebenfalls ausgebaut. Neu hinzugekommen ist Support für das SMACK Security Module in den Tools ls, id, mkdir, mkfifo und mknod.
Das Tool tail erhielt ein --debug-Flag, verbesserte Symlink-Verfolgung mit der Option -F und FIFO-Timeout-Handling für --pid. Bei timeout implementierten die Entwickler umfassendes Signal-Handling und eine --verbose-Option.
Das Sortiertool sort unterstützt nun Legacy-Syntax mit +POS/-POS, bietet Debug-Key-Annotationen und bessere locale-aware Sortierung. Bei pr korrigierten die Entwickler Fehler bei Headers, Form Feeds und Pagination. Die Tools chmod und rm behandeln rekursive Operationen und Symlinks besser als zuvor.
Ubuntu und Fedora setzen auf Rust Coreutils
Die Entwicklung der Rust Coreutils gewinnt in der Linux-Welt zunehmend an Bedeutung. Ubuntu 25.10 verwendet bereits Rust Coreutils 0.2.2 als Standard im Rahmen der Oxidising-Ubuntu-Initiative von Canonical. Fedora plant, Version 0.5 in Fedora 44 als Option für Early Adopters anzubieten – allerdings nicht als Standardvariante wie bei Ubuntu.
Auf der FOSDEM 2026 am 1. Februar berichtete Sylvestre Ledru vom uutils-Kernteam über praktische Erfahrungen mit Rust Coreutils in Ubuntu. Der Vortrag „Rust Coreutils in Ubuntu: Yes, we rewrote /bin/true in Rust – Here’s what really happened“ gab Einblicke in Packaging-Komplexität, undokumentierte Verhaltensweisen und den Umgang mit kritischen System-Tools.
Die Entwicklergemeinschaft wächst stetig: An Version 0.6 wirkten 41 neue Contributors mit. Wer die Rust Coreutils testen möchte, findet sie im GitHub-Repository des Projekts.
(fo)