Künstliche Intelligenz

Rust Coreutils 0.6 erreicht 96 Prozent GNU-Kompatibilität


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

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.

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.

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

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.

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.

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)



Source link

Beliebt

Die mobile Version verlassen