Die Ausgabe des Projekts uutils coreutils 0.10.0 (Rust Coreutils), eine Alternative zum GNU Coreutils-Paket, das in Rust entwickelt wurde, wurde veröffentlicht. Zu den coreutils gehören über einhundert Tools, darunter sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln und ls. Das Ziel des Projekts ist es, eine plattformübergreifende alternative Implementierung von Coreutils zu schaffen, die unter anderem auf Windows-, Redox- und Fuchsia-Plattformen funktioniert.
Rust Coreutils wird standardmäßig in der Version Ubuntu 25.10 und teilweise in Ubuntu 26.04 eingesetzt. Rust Coreutils findet auch Anwendung in den Distributionen AerynOS (Serpent OS) und Apertis (entwickelt von Collabora). Im Gegensatz zu GNU Coreutils wird die Rust-Implementierung unter der MIT-Lizenz vertrieben, anstelle der Copyleft-Lizenz GPL. Zusätzlich entwickelt dasselbe Entwicklerteam Rust-Alternativen zu den Tool-Sets util-linux, diffutils, findutils, procps und acl, sowie zu den Programmen sed und login.
In der neuen Version von Rust Coreutils:
- Der Kompatibilitätsgrad mit dem Referenz-Testset von GNU Coreutils betrug 93,48 % (zuvor 90,58 %). Es wurden 645 Tests erfolgreich durchgeführt, was 20 mehr ist als in der vorherigen Version (625). 29 Tests schlugen fehl (zuvor 56), ein Test führte zu einem Fehler, und 15 Tests wurden übersprungen (zuvor 8).
- Einzelne Abweichungen im Verhalten der Tools pr, nproc, date, numfmt, ls, du, install, od, truncate, fold, head/tail, sum und stat im Vergleich zu GNU Coreutils wurden behoben.
- Die Arbeit zur Verbesserung der Sicherheit wurde fortgesetzt, um die Entstehung von Schwachstellen zu verhindern, die durch Wettlaufzustände entstehen, die es ermöglichen, Daten nach der Validierung zu ändern, aber vor der Durchführung von Operationen mit ihnen, zum Beispiel eine Datei in ein symbolisches Link zu ändern zwischen dem Abschluss der Überprüfung und dem Beginn der Durchführung der Operation. Im Kontext der Verwendung der Tools cp, chmod und mv in System-Skripten, die mit Root-Rechten ausgeführt werden, ermöglichen solche Schwachstellen das Kopieren oder Überschreiben beliebiger Dateien. Der Schutz der Tools touch, mkfifo, mkdir, mknod, mv, chroot, head, split und chcon wurde verstärkt.
- Es wurden Maßnahmen zur Beseitigung von Abstürzen durch den Panic-Mechanismus in den Tools shuf, printf, numfmt, fmt, pr, chroot, dircolors, install, ln, touch, stat, split, expand, more, kill, cp, du, rm, runcon, sort, chown/chgrp, dirname, expr, cksum, dd, truncate, hashsum durchgeführt.
- Die Leistung der Tools cksum, sum, split, expand/unexpand, base*, tee, cat, cp, mv, expr, uniq, du wurde optimiert.
- Unterstützung für die Build-Ziel wasm32-wasip2 wurde hinzugefügt.
- Im Tool mv wurde die Option "—exchange" zur Tauschung von zwei Dateien oder Verzeichnissen implementiert.
- Im Installationswerkzeug wurde die Option „—reflink“ implementiert, und die gemeinsame Nutzung der Optionen „-C“ und „—preserve-timestamps“ wurde ermöglicht.
- Im Werkzeug rm wurde die Option „—one-file-system“ hinzugefügt.
- Im Werkzeug cut wurde die Möglichkeit zur Verwendung von Mehrbyte-Codierungen in nicht UTF-8-Lokalen bereitgestellt.
- Für eine schnelle Berechnung von Prüfziffern wurde das Backend OpenSSL genutzt.
Quelle: opennet.ru
