Rust Coreutils 0.10.0 sind jetzt zu 93,48 Prozent kompatibel - LinuxCommunity
Das uutils-Projekt implementiert die Kernanwendungen eines Linux-Systems in Rust neu. Die jetzt veröffentlichte Version 0.10.0 erhöht die Kompatibilität zu den GNU Coreutils, härtet einige Tools weiter ab und kann OpenSSL für eine flotte Berechnung von Prüfsummen einspannen. Die Entwickler haben für dieses Update ihren Fokus auf die Robustheit und die Kompatibilität gelegt. Letztere messen sie mit der GNU Test Suite, die insgesamt 690 Einzelprüfungen umfasst. Die Rust Coreutils 0.10.0 schaffen davon 645 und somit 20 mehr als die Vorversion. Mehr Sicherheit und einen stabileren Betrieb versprechen zahlreiche kleinere Änderungen. Unter anderem nutzt „touch“ nicht mehr „O_TRUNC“ beim Erstellen von Dateien, „chmod“ und „chown“ schauen genauer bei Symlinks hin, „cp“ steigt nicht in ein Unterverzeichnis herab, das eigentlich ein Symlink ist, „mkdir“, „mkfifo“ und „mknod“ weisen SELinux Labels schon bei der Erstellung zu, während „expr“ ab sofort einen iterativen Parser verwendet, der bei tief verschachtelten Ausdrücken nicht mehr den Stack überflutet. Abschließend brechen viele Tools in bestimmten Situationen die Arbeit nicht mehr einfach ab. Das neue Release umfasst aber auch einige neue Funktionen. So tauscht etwa „mv –exchange“ zwei Pfade. „install“ versteht den Parameter „–reflink“, zudem funktioniert der Parameter „-C“ zusammen mit „–reserve-timestamps“. Neu sind „rm –one-file-system“ und ein OpenSSL Backend. Abschließend hat das uutils-Team einigen Tools durch kleinere Optimierungen Beine gemacht und den Umgang mit Unicode verbessert. So unterstützt „cut“ jetzt Multibyte-Zeichen in nicht-UTF-8-Locales. Die Neuimplementierung der GNU Coreutils in Rust soll vor allem die Sicherheit erhöhen und etwa Speicherfehler minimieren. Die Arbeit ist so weit fortgeschritten, dass die Rust Coreutils bereits in Ubuntu zum Einsatz kommen.