GNU Core Utilities 9.0: Behutsame Verbesserungen für die meisten freien Systeme

Die GNU Core Utilities, Teil jedes GNU-Systems und damit auch von GNU/Linux-Distributionen, erhalten mit Version 9.0 einige neue Funktionen und viele Bugfixes.

In Pocket speichern vorlesen Druckansicht 101 Kommentare lesen

(Bild: donatas1205 / Shutterstock.com)

Lesezeit: 3 Min.
Von
  • Michael Plura
Inhaltsverzeichnis

Die Entwickler rund um Pádraig "pixelbeat" Brady haben die Version 9 der GNU Core Utilities freigegeben. Jeder GNU/Linux-Anwender stolpert irgendwann über Terminal-Befehle wie ls, cat, cp, rm und dd. Diese grundlegenden Befehle eines jeden Unix oder Unix-artigen Systems sind standardisiert und in den GNU Core Utilities zusammengefasst.

Die einzelnen und gemäß der Unix-Philosophie betont einfachen Programme gibt es teilweise schon seit über 30 Jahren (damals noch file-, sh- und text-utils, seit 20 Jahren coreutils) – da sollte man meinen, sie wären so langsam ausgereift und fehlerfrei. Gegenüber der Vorgängerversion, den GNU Core Utilities 8.32 vom März 2020, betrifft dennoch rund die Hälfte der Änderungen reine Fehlerkorrekturen, lediglich die andere Hälfte sind Änderungen im Verhalten, neue Funktionen und anderweitige Verbesserungen.

Einige bereinigte Fehler betreffen die nicht korrekte Ausgabe einiger Befehle, beispielsweise produziert df keine doppelte Ausgabe mehr für manche remote mounts. Auch behoben sind Abstürze von du auf XFS-Dateisystemen, wenn diese während des Programmlaufs größere Änderungen in der Verzeichnisstruktur erfahren – warum auch immer man beides gleichzeitig machen will.

Lästiger war ein Fehler von rm, das bei einem missglückten Versuch ein leeres Verzeichnis zu löschen manchmal Dateien übersprang – der Fehler entstand, als man Teile von rm in den Core Utilities 8.0 komplett neu schrieb. Letzteres geschah vor 12 Jahren – klingt nach einem lange gehegten Bug? Es geht noch besser: Nochmal zwei Jahre älter ist ein mit Core Utilities 6.9.91 eingeführter Fehler von ls beim Anzeigen von SELinux-Informationen.

Arbeiten cp oder install auf einem CoW-Dateisystem (Copy-on-Write, z.B. ZFS, XFS und Btrfs), benutzen sie dieses Feature auch. Einiges Neues gibt es bei cksum für 32-Bit-CRCs von Dateien oder Datenströmen. Über den Parameter --algorithm=TYPE (kurz -a) lässt sich auswählen, welcher Algorithmus für die Prüfsumme benutzt werden soll. Möglich sind sysv (entspricht sum -s), bsd (entspricht sum -r), das bisherige crc und diverse SHA-Algorithmen. Neu ist der sm3-Algorithmus. Praktisch in diesem Zusammenhang: Mit cksum --check versucht cksum automatisch zu erkennen, welcher Algorithmus für eine Prüfsumme benutzt wurde. Insgesamt soll cksum durch einige Optimierungen vier- bis achtmal schneller laufen.

Schließlich hat sich jemand gefunden, der WordCount (wc) mithilfe der Advanced Vector Extensions 2 (AVX2) optimiert, die es ab der Haswell-CPU-Familie gibt. AVX2 erweitert die SSE- und AVX-Vektorbefehle für Integer auf 256Bit. Ist AVX2 auf der CPU vorhanden, belohnt wc das laut Entwickler mit einer bis zu fünfmal schnelleren Geschwindigkeit beim Zählen von Zeilenumbrüchen.

Die meisten aktuellen GNU/Linux-Distributionen benutzen die GNU Core Utilities in einer 8.3x-Version. Wer bereits einen Blick auf die neuen Funktionen werfen möchte, kann dies mit Benutzerrechten machen:

wget ftp://ftp.gnu.org/pub/gnu/coreutils/coreutils-9.0.tar.gz
tar -xf coreutils-9.0.tar.gz 
cd coreutils-9.0/
./configure && make -j $(nproc)

Die Binaries befinden im coreutils-9.0/src-Verzeichnis und können beispielsweise per

~/coreutils-9.0/src/ls --version
ls (GNU coreutils) 9.0
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later [...]

aufgerufen werden. Mutige können sie per sudo make install in ihrem System installieren.

(fo)