AccueilActualités informatiqueGNU Core Utilities 9.0 : des améliorations prudentes pour la plupart des...

GNU Core Utilities 9.0 : des améliorations prudentes pour la plupart des systèmes libres

Les développeurs autour de Pádraig « pixelbeat » Brady ont publié la version 9 des GNU Core Utilities. Chaque utilisateur de GNU/Linux trébuche à un moment donné sur des commandes de terminal comme ls, cat, cp, rm et dd. Ces commandes de base de tout système Unix ou de type Unix sont standardisées et résumées dans les utilitaires de base GNU.

Les programmes individuels et, conformément à la philosophie Unix, emphatiquement simples, existent en partie depuis plus de 30 ans (à l’époque file-, sh- et text-utils, depuis 20 ans coreutils) – on pourrait penser qu’ils sont si lentement mûrs et sans erreur. Par rapport à la version précédente, GNU Core Utilities 8.32 de mars 2020, environ la moitié des changements sont des corrections de bogues, seule l’autre moitié est constituée de changements comportementaux, de nouvelles fonctionnalités et d’autres améliorations.

Sommaire

Certaines erreurs nettoyées concernent la sortie incorrecte de certaines commandes, par exemple produites df ne produit plus de sortie en double pour certains montages à distance. Sont également corrigées les pannes de du sur les systèmes de fichiers XFS s’ils subissent des changements majeurs dans la structure des répertoires pendant que le programme est en cours d’exécution – pour quelque raison que ce soit, vous voulez faire les deux en même temps.

Plus ennuyeux était un bug de rmqui sautait parfois des fichiers lors d’une tentative infructueuse de suppression d’un répertoire vide – le bogue est apparu lors de la suppression de parties de fichiers de l’application rm dans Core Utilities 8.0 ont été complètement réécrits. Ce dernier cas s’est produit il y a 12 ans – cela ressemble à un bug de longue date ? Il y a encore mieux : un autre bogue introduit avec Core Utilities 6.9.91 de deux ans plus tôt par ls lors de l’affichage des informations SELinux.

Travaux cp ou install sur un système de fichiers CoW (copy-on-write, par exemple ZFS, XFS et Btrfs), ils utilisent également cette fonctionnalité. Il y a des nouvelles à cksum pour les CRC 32 bits des fichiers ou des flux de données. Via le paramètre --algorithm=TYPE (courte -a) peut être utilisé pour sélectionner l’algorithme à utiliser pour la somme de contrôle. Sont possibles sysv (correspond à sum -s), bsd (correspond sum -r), le précédent crc et divers algorithmes SHA. La nouveauté est le sm3-algorithme. Pratique dans ce contexte : Avec cksum --check essaie cksum détecter automatiquement quel algorithme a été utilisé pour une somme de contrôle. Au total cksum devrait s’exécuter quatre à huit fois plus vite grâce à certaines optimisations.

Enfin, quelqu’un a trouvé WordCount (wc) à l’aide des Advanced Vector Extensions 2 (AVX2), qui sont disponibles à partir de la famille de CPU Haswell. AVX2 étend les instructions vectorielles SSE et AVX pour les entiers à 256 bits. Si AVX2 est présent sur le CPU, il récompense wc Selon les développeurs, cela est récompensé par une vitesse jusqu’à cinq fois plus rapide lors du comptage des sauts de ligne.

La plupart des distributions GNU/Linux actuelles utilisent les utilitaires de base GNU dans une version 8.3x. Ceux qui veulent déjà jeter un coup d’œil aux nouvelles fonctions peuvent le faire avec des droits d’utilisateur :

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)

Les binaires sont situés dans le répertoire coreutils-9.0/src et peuvent être téléchargés par exemple via

~/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 [...]

par exemple. Les courageux peuvent les appeler via sudo make install pour l’installer dans leur système.

Plus d'articles