Die Veröffentlichung von Rust Coreutils 0.6.0 hat die Kompatibilität mit GNU Coreutils von 87% auf 96% erhöht.

Die Ausgabe des Projekts uutils coreutils 0.6.0 (Rust Coreutils), das eine Alternative zum GNU Coreutils-Paket erstellt, wurde veröffentlicht. Coreutils umfasst über hundert 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 funktionieren kann.

Rust Coreutils ist standardmäßig in der Ubuntu-Version 25.10 enthalten und wird 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 statt unter der Copyleft-Lizenz GPL vertrieben. Zusätzlich entwickelt dasselbe Entwicklerteam Rust-Analogien zu den Utility-Sets util-linux, diffutils, findutils, procps und acl sowie zu den Programmen sed und login.

In der neuen Version von Rust Coreutils:

  • Das Kompatitätsniveau mit der Referenz-Test-Suite von GNU Coreutils wurde auf 96,28 % (früher 87,75 %) erhöht. 622 Tests wurden erfolgreich bestanden, was 56 mehr sind als in der vorherigen Version (566). 16 (früher 55) Tests schlugen fehl, und 7 (früher 23) Tests wurden übersprungen. Der signifikanteste Anstieg der Kompatibilität wurde bei den Tools sort, ls, date, cksum und tail festgestellt.
  • In den Tools date, sort, locale.rs und anderen wurde Code entfernt, der das Schlüsselwort „unsafe“ verwendete.
  • Aufrufe an die Standardbibliothek libc wurden durch äquivalente sichere Aufrufe ersetzt, die vom Paket nix bereitgestellt werden.
  • Die Fehlerbehandlung wurde verbessert, und Abstürze beim Schreiben in /dev/full wurden ausgeschlossen.
  • Im Tool date wurde die Lokalisierung von Monats- und Wochentagsnamen unter Berücksichtigung von ICU implementiert. Die Formatierung von Stunden und Kalendern wird nun lokal berücksichtigt.
  • Im Tool sort wurde die Sortierung von Zahlen mit Tausendertrennzeichen ermöglicht, und die Behandlung der Parameter +POS/-POS wurde implementiert.
  • Im Tool join wurde die Unterstützung für die Locale-Eigenschaften „collation“ hinzugefügt, um Vergleiche unter Berücksichtigung der Bedeutung von Zeichen durchzuführen (z. B. kann bei Vergleichen der Akzent des Zeichens ignoriert werden).
  • Die Leistung der Tools base32, base64, basenc und df wurde optimiert.
  • Im Tool uniq wurde der Speicherverbrauch bei der fallunempfindlichen Verarbeitung reduziert.
  • Im Tool shuf wurde die numerische Ausgabe optimiert und die Option „—random-seed“ hinzugefügt.
  • In tsort wurde das Laden aller Eingabedaten in den Speicher ausgeschlossen.
  • Im Tool tail wurde das Flag „—debug“ hinzugefügt.
  • Im Tool chmod wurden Probleme mit der rekursiven Ausführung von Vorgängen behoben, und die Option „—preserve-root“ wurde hinzugefügt.
  • In Unix-ähnlichen Systemen wurde die Sicherheit beim Durchsuchen von Verzeichnissen erhöht.
  • In den Tools ls, id, mkdir, mkfifo und mknod wurde die Unterstützung für das mechanische obligatorische Zugangskontrollsystem SMACK hinzugefügt.
  • In das Continuous-Integration-System wurde eine Testsicherung für 64-Bit RISC-V-Systeme mit der musl-Bibliothek eingefügt.
  • Die Arbeit in Windows unter Verwendung von Cygwin wurde verbessert.
  • Die Funktionen wurden erweitert, Probleme behoben und fehlende Optionen für die Tools arch, base64, basename, cat, chgrp, chmod, chroot, cksum, comm, cp, csplit, date, dd, df, dir, dirname, du, echo, env, expand, expr, fmt, fold, groups, hashsum, head, hostid, id, install, join, kill, ln, logname, ls, mkdir, mkfifo, mknod, mktemp, more, mv, nice, nl, nohup, nproc, numfmt, pr, printenv, printf, ptx, readlink, rm, rmdir, runcon, seq, shred, shuf, sort, split, stat, stdbuf, stty, sync, tac, tail, tee, test, timeout, touch, truncate, tsort, uname, unexpand, uniq, uptime, users, wc, yes, ucore, uucore, uudoc hinzugefügt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4