Une version stable du paquet utilitaire système de base GNU Coreutils 9.5 a été publiée, comprenant des programmes tels que sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls, etc.
Nouveautés clés :
- Les utilitaires cp, mv, install, cat et split ont optimisé les opérations de lecture et d'écriture. La taille du bloc lisible ou inscriptible minimum a été augmentée de 128KiB à 256KiB, ce qui a entraîné une amélioration de la bande passante de 10 à 20 % lors de la lecture de fichiers mis en cache.
- Le support des signaux non nommés a été ajouté aux utilitaires env, kill et timeout.
- L'efficacité des opérations de copie a été améliorée dans un système SELinux en évitant la translation d'étiquettes MCS/MLS inutiles.
- Le temps de démarrage de l'utilitaire sort a été réduit en supprimant la liaison dynamique avec la bibliothèque libcrypto dans les situations où l'option «-R» n'est pas spécifiée.
- Le fonctionnement de l'utilitaire wc a été considérablement accéléré dans des environnements avec des locales à un seul octet et légèrement accéléré sur des systèmes avec des locales multioctets.
- Le support de l'option «—from=OWNER:GROUP» a été ajouté à l'utilitaire chgrp pour appliquer des modifications uniquement aux fichiers avec le propriétaire et le groupe spécifiés.
- Dans l'utilitaire chmod, des options similaires à celles des utilitaires chown et chmod ont été mises en œuvre : «-h», «-H», «-L», «-P» et «—dereference», offrant des possibilités supplémentaires de traitement des liens symboliques.
- L'option «—keep-directory-symlink» a été ajoutée à l'utilitaire cp pour conserver et suivre les liens symboliques existants vers des répertoires.
- Les utilitaires cp et mv ont reçu l'option «—update=none-fail», qui rappelle l'option «—no-clobber», sauf que l'exécution se termine par une erreur si les fichiers existent déjà.
- L'option -a (—argv0) a été ajoutée à l'utilitaire env pour redéfinir le paramètre nul de la ligne de commande (le chemin vers l'exécutable).
- Une option «—exchange» a été ajoutée à l'utilitaire mv pour échanger le contenu de la source et de la destination (par exemple, lors de l'exécution de «mv —exchange A B», le contenu de A et B sera échangé, c'est-à-dire que A sera déplacé dans B et B dans A).
- Le suivi de la sortie de plusieurs processus via la répétition de plusieurs options «—pid» a été ajouté à l'utilitaire tail.
Il y a quelques jours, une nouvelle version du projet uutils coreutils 0.0.25 a été publiée, développant un équivalent du package GNU Coreutils, réécrit en Rust. Coreutils comprend plus d'une centaine d'utilitaires, y compris sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln et ls. L'objectif du projet est de créer une alternative multiplateforme à l'implémentation de Coreutils, capable de fonctionner également sur les plateformes Windows, Redox et Fuchsia. Contrairement à GNU Coreutils, l'implémentation en Rust est diffusée sous une licence permissive MIT, au lieu de la licence copyleft GPL.
Dans la nouvelle version d'uutils, la version de référence est le release GNU Coreutils 9.4. La compatibilité avec le jeu de tests de référence de GNU Coreutils a été améliorée, avec 437 tests réussis (contre 422 dans la version précédente), 117 (132) tests échoués, et 50 (50) tests ignorés. Une compatibilité complète avec GNU Coreutils a été réalisée pour les utilitaires 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 et yes.
Les fonctionnalités ont été étendues, la compatibilité améliorée et des options manquantes ont été ajoutées pour les utilitaires 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 et uniq.

Source : opennet.ru
