Byla vydána stabilní verze základního souboru systémových utilit GNU Coreutils 9.5, která zahrnuje programy jako sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls atd.
Hlavní novinky:
- V utilitách cp, mv, install, cat a split byla optimalizována operace čtení a zápisu. Velikost minimálního čitelného nebo zapisovaného bloku byla zvýšena z 128KiB na 256KiB, což vedlo ke zvýšení propustnosti při čtení vyrovnaných souborů o 10-20%.
- Do utilit env, kill a timeout byla přidána podpora pro nepojmenované signály.
- Vyloučením překladu nepotřebných štítků MCS/MLS byla zvýšena účinnost operací kopírování při použití v systému SELinux.
- Byla zkrácena doba spuštění utilitě sort díky ukončení dynamického propojení s knihovnou libcrypto v situacích, kdy nebyla uvedena volba „-R“.
- Významně byla zrychlena práce utilitě wc v prostředích s jedním bajtem a mírně zrychlena na systémech s vícero bajtovými lokalizacemi.
- Do utilitě chgrp byla přidána podpora pro volbu „—from=OWNER:GROUP“ pro uplatnění změn pouze na souborech se zadaným vlastníkem a skupinou.
- V utilitě chmod byly zavedeny volby „-h“, „-H“, „-L“, „-P“ a „—dereference“, podobně jako v utilitách chown a chmod, což poskytuje další možnosti zpracování symbolických odkazů.
- Do utilitě cp byla přidána volba „—keep-directory-symlink“ pro zachování a sledování existujících symbolických odkazů na adresáře.
- Do utilit cp a mv byla přidána volba „—update=none-fail“, která připomíná volbu „—no-clobber“, s výjimkou toho, že provedení skončí chybou, pokud soubory již existují.
- Do utilitě env byla přidána volba -a (—argv0) pro přepsání nulového parametru příkazového řádku (cesta k spustitelnému souboru).
- Do utilitě mv byla přidána volba „—exchange“ pro výměnu obsahu zdroje a cíle (například při provedení „mv —exchange A B“ se obsah A a B vymění, tedy A se přesune do B a B do A).
- Do utilitě tail byla přidána podpora sledování výstupu z několika procesů prostřednictvím opakovaného udání několika voleb „—pid“.
Před několika dny byla také zveřejněna verze projektu uutils coreutils 0.0.25, která vyvíjí analog balíčku GNU Coreutils, přepsaného v jazyce Rust. Sada coreutils obsahuje více než sto utilit, včetně sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln a ls. Cílem projektu je vytvořit multiplatformní alternativní implementaci Coreutils, která by mohla fungovat také na platformách Windows, Redox a Fuchsia. Na rozdíl od GNU Coreutils se implementace v Rustu distribuuje pod permisivní licencí MIT, nikoli pod copyleft licenci GPL.
V nové verzi uutils byl jako referenční standard použit vydání GNU Coreutils 9.4. Byla vylepšena kompatibilita s referenčním testovacím souborem GNU Coreutils, při jehož testování bylo úspěšně vykonáno 437 testů (v předchozí verzi 422), 117 (132) testů selhalo a 50 (50) testů bylo přeskočeno. Byla zajištěna plná kompatibilita s GNU Coreutils pro utilitky 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 a yes.
Byly rozšířeny možnosti, vylepšena kompatibilita a přidány chybějící možnosti pro utilitky 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 a uniq.

Zdroj: opennet.ru
