Release von uutils 0.10, der GNU Coreutils-Variante in Rust

Die Veröffentlichung des Projekts uutils coreutils 0.10.0 (Rust Coreutils), das eine Alternative zu dem GNU Coreutils-Paket darstellt und in der Programmiersprache Rust entwickelt wurde, wurde veröffentlicht. Coreutils umfasst über einhundert Dienstprogramme, einschließlich sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln und ls. Das Ziel des Projekts ist die Schaffung einer plattformübergreifenden alternativen Implementierung von Coreutils, die unter anderem auf Windows-, Redox- und Fuchsia-Plattformen funktioniert.

Rust Coreutils ist standardmäßig in der Veröffentlichung von Ubuntu 25.10 und teilweise in Ubuntu 26.04 aktiv. Rust Coreutils wird auch in den Distributionen AerynOS (Serpent OS) und Apertis (entwickelt von Collabora) verwendet. Im Gegensatz zu GNU Coreutils wird die Rust-Implementierung unter der permissiven MIT-Lizenz verbreitet, anstelle der copyleft-lizenz GPL. Zusätzlich entwickelt dasselbe Entwicklerteam Rust-basierte Entsprechungen der Dienstprogrammsammlungen util-linux, diffutils, findutils, procps und acl sowie der Programme sed und login.

In der neuen Version von Rust Coreutils:

  • Der Kompatibilitätsgrad mit dem Referenz-Testset von GNU Coreutils betrug 93,48 % (vorher 90,58 %). 645 Tests wurden erfolgreich durchgeführt, was 20 mehr ist als in der vorherigen Version (625). 29 Tests schlugen fehl (vorher 56), ein Test führte zu einem Fehler, und 15 Tests wurden übersprungen (vorher 8).
  • Einzelne Abweichungen im Verhalten der Dienstprogramme pr, nproc, date, numfmt, ls, du, install, od, truncate, fold, head/tail, sum und stat wurden behoben.
  • Die Arbeiten zur Verbesserung der Sicherheit zur Vermeidung von Schwachstellen, die durch Rennen entstehen, um Daten nach der Validierung, aber vor der Durchführung von Operationen, zu ändern, wurden fortgesetzt. Zum Beispiel könnte eine Datei zwischen Abschluss der Validierung und Beginn der Operation durch einen symbolischen Link ersetzt werden. Im Kontext der Verwendung der Dienstprogramme cp, chmod und mv in Systemskripten, die mit Root-Rechten ausgeführt werden, ermöglichen solche Schwachstellen das Kopieren oder Überschreiben beliebiger Dateien. Der Schutz der Dienstprogramme touch, mkfifo, mkdir, mknod, mv, chroot, head, split und chcon wurde verstärkt.
  • Es wurden Maßnahmen ergriffen, um Programmabstürze über den Panic-Mechanismus in den Dienstprogrammen 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 zu beheben.
  • Die Leistung der Dienstprogramme cksum, sum, split, expand/unexpand, base*, tee, cat, cp, mv, expr, uniq, du wurde optimiert.
  • Unterstützung für das Ziel wasm32-wasip2 wurde hinzugefügt.
  • Im Dienstprogramm mv wurde die Option "—exchange" implementiert, um zwei Dateien oder Verzeichnisse auszutauschen.
  • In der Installationsanwendung wurde die Option „—reflink“ implementiert und die Möglichkeit zum gemeinsamen Nutzen der Optionen „-C“ und „—preserve-timestamps“ sichergestellt.
  • In das Dienstprogramm rm wurde die Option „—one-file-system“ hinzugefügt.
  • In der Anwendung cut wurde die Unterstützung für die Arbeit mit Multibyte-Codierungen bei der Verwendung von Nicht-UTF-8-Lokalen bereitgestellt.
  • Für die schnelle Berechnung von Prüfziffern wurde das Backend OpenSSL eingesetzt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4