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
