Die Veröffentlichung des GNU Coreutils 9.5-Pakets und seiner Variante in Rust

Die stabile Version des Satzes grundlegender Systemwerkzeuge GNU Coreutils 9.5 wurde veröffentlicht, die Programme wie sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls usw. umfasst.

SchlĂŒsselneuheiten:

  • In den Werkzeugen cp, mv, install, cat und split wurden die Lese- und Schreiboperationen optimiert. Die GrĂ¶ĂŸe des minimal lesbaren oder beschreibbaren Blocks wurde von 128KiB auf 256KiB erhöht, was zu einer Steigerung der Bandbreite beim Lesen zwischengespeicherter Dateien um 10-20 % fĂŒhrte.
  • In die Werkzeuge env, kill und timeout wurde die UnterstĂŒtzung fĂŒr unbenannte Signale hinzugefĂŒgt.
  • Durch den Ausschluss der Übersetzung unnötiger MCS/MLS-Tags wurde die Effizienz der Kopieroperationen im SELinux-System erhöht.
  • Die Startzeit des Werkzeugs sort wurde durch den Verzicht auf das dynamische Binden an die Bibliothek libcrypto in Situationen, in denen die Option „-R“ nicht angegeben ist, verkĂŒrzt.
  • Die Leistung des Werkzeugs wc wurde in Umgebungen mit einbyteigen Locales erheblich beschleunigt und in Systemen mit mehrbyteigen Locales etwas verbessert.
  • Im Werkzeug chgrp wurde die UnterstĂŒtzung fĂŒr die Option „—from=OWNER:GROUP“ hinzugefĂŒgt, um Änderungen nur auf Dateien mit dem angegebenen Besitzer und der Gruppe anzuwenden.
  • Im Werkzeug chmod wurden analog zu den Werkzeugen chown und chmod die Optionen „-h“, „-H“, „-L“, „-P“ und „—dereference“ implementiert, die zusĂ€tzliche Möglichkeiten zur Verarbeitung von symbolischen Links bieten.
  • Im Werkzeug cp wurde die Option „—keep-directory-symlink“ hinzugefĂŒgt, um bestehende symbolische Links auf Verzeichnisse zu erhalten und diesen zu folgen.
  • In den Werkzeugen cp und mv wurde die Option „—update=none-fail“ hinzugefĂŒgt, die der Option „—no-clobber“ Ă€hnelt, mit der Ausnahme, dass die AusfĂŒhrung mit einem Fehler endet, wenn die Dateien bereits vorhanden sind.
  • Im Werkzeug env wurde die Option -a (—argv0) hinzugefĂŒgt, um den Nullparameter der Befehlszeile (Pfad zur ausfĂŒhrbaren Datei) zu ĂŒberschreiben.
  • Im Werkzeug mv wurde die Option „—exchange“ hinzugefĂŒgt, um den Inhalt von Quelle und Ziel auszutauschen (wenn beispielsweise „mv —exchange A B“ ausgefĂŒhrt wird, wird der Inhalt von A und B vertauscht, d.h. A wird nach B verschoben und B nach A).
  • Im Werkzeug tail wurde die UnterstĂŒtzung fĂŒr die Verfolgung der Ausgabe aus mehreren Prozessen durch die mehrfache Angabe mehrerer Optionen „—pid“ hinzugefĂŒgt.

Vor einigen Tagen wurde auch die Ausgabe des Projekts uutils coreutils 0.0.25 veröffentlicht, das eine Alternative zum GNU Coreutils-Paket darstellt und in Rust neu geschrieben wurde. Die coreutils umfassen mehr als einhundert Dienstprogramme, darunter sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln und ls. Das Ziel des Projekts ist die Erstellung einer plattformĂŒbergreifenden alternativen Implementierung von Coreutils, die unter anderem auf Windows-, Redox- und Fuchsia-Plattformen funktioniert. Im Gegensatz zu den GNU Coreutils wird die Rust-Implementierung unter der permissiven MIT-Lizenz veröffentlicht, anstelle der Copyleft-Lizenz GPL.

In der neuen Version von uutils wird die Version 9.4 von GNU Coreutils als Referenz verwendet. Die KompatibilitĂ€t mit dem Referenztestkit von GNU Coreutils wurde verbessert, wobei 437 Tests erfolgreich bestanden wurden (in der vorherigen Version 422), 117 (132) Tests fehlgeschlagen sind und 50 (50) Tests ĂŒbersprungen wurden. Es wurde vollstĂ€ndige KompatibilitĂ€t mit den GNU Coreutils fĂŒr die Dienstprogramme base64, basename, cat, chgrp, chmod, chown, dirname, expand, fold, groups, join, ln, mktemp, nice, nl, nproc, paste, pathchk, printenv, realpath, shuf, sleep, split, sync, unexpand, uniq, wc und yes sichergestellt.

Die Funktionen wurden erweitert, die KompatibilitĂ€t verbessert und fehlende Optionen fĂŒr die Dienstprogramme base32, base64, basenc, basename, cat, chcon, chmod, cksum, cp, csplit, cut, dd, df, du, echo, env, expand, factor, fmt, hashsum, install, ln, ls, more, numfmt, odd, printf, pr, seq, shuf, sort, split, stat, tsort, tty, truncate, uname und uniq hinzugefĂŒgt.

Die Veröffentlichung des GNU Coreutils 9.5-Pakets und seiner Variante in Rust


Quelle: opennet.ru
60GB SSD 8Gb DDR4