A fost publicată versiunea stabilă a setului de utilitare de bază GNU Coreutils 9.5, care include programe precum sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls etc.
Noutăți cheie:
- În utilitarele cp, mv, install, cat și split au fost optimizate operațiunile de scriere și citire. Dimensiunea blocului minim citit sau scris a fost crescută de la 128KiB la 256KiB, ceea ce a dus la o creștere a lățimii de bandă la citirea fișierelor în cache cu 10-20%.
- Utilitarele env, kill și timeout au primit suport pentru semnale neomenite.
- Prin excluderea transcrierii etichetelor inutile MCS/MLS a fost crescută eficiența operațiunilor de copiere în sistemul SELinux.
- Timpul de pornire al utilitarului sort a fost redus prin încetarea legăturii dinamice cu biblioteca libcrypto în situațiile în care nu este specificată opțiunea „-R”.
- Funcționarea utilitarului wc a fost semnificativ accelerată în medii cu localizare pe un singur byte și puțin accelerată pe sisteme cu localizare multi-byte.
- Utilitarul chgrp a primit suport pentru opțiunea „—from=OWNER:GROUP” pentru a aplica modificările doar fișierelor cu proprietarul și grupul specificat.
- În utilitarul chmod, similar utilitarelor chown și chmod, au fost implementate opțiunile „-h”, „-H”, „-L”, „-P” și „—dereference”, oferind capabilități suplimentare pentru procesarea linkurilor simbolice.
- Utilitarului cp i s-a adăugat opțiunea „—keep-directory-symlink” pentru a păstra și a urma link-urile simbolice existente către directoare.
- Utilitarelor cp și mv li s-a adăugat opțiunea „—update=none-fail”, care este similară cu opțiunea „—no-clobber”, exceptând faptul că execuția se încheie cu o eroare dacă fișierele există deja.
- Utilitarului env i s-a adăugat opțiunea -a (—argv0) pentru a suprascrie parametrul zero al liniei de comandă (calea către fișierul executabil).
- Utilitarului mv i s-a adăugat opțiunea „—exchange” pentru schimbarea conținutului sursei și al destinației (de exemplu, executând „mv —exchange A B”, conținutul A și B se va schimba, adică A va fi mutat în B, iar B în A).
- Utilitarului tail i s-a adăugat suport pentru urmărirea ieșirii din mai multe procese prin specificarea repetată a mai multor opțiuni „—pid”.
Acum câteva zile a fost publicată și versiunea 0.0.25 a proiectului uutils coreutils, care dezvoltă un echivalent al pachetului GNU Coreutils, rescris în limbajul Rust. Pachetul coreutils include peste o sută de unelte, inclusiv sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln și ls. Scopul proiectului este de a crea o implementare alternativă multiplatformă a Coreutils, capabilă să funcționeze, printre altele, pe platformele Windows, Redox și Fuchsia. Spre deosebire de GNU Coreutils, implementarea în Rust este distribuită sub licența permisivă MIT, în loc de licența copyleft GPL.
În noua versiune a uutils, versiunea de referință folosită este GNU Coreutils 9.4. A fost îmbunătățită compatibilitatea cu setul de teste de referință GNU Coreutils, la care au fost efectuate cu succes 437 de teste (față de 422 în versiunea anterioară), 117 (132) teste au fost nereușite, iar 50 (50) teste au fost sărite. S-a asigurat compatibilitatea completă cu GNU Coreutils pentru uneltele 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 și yes.
Funcționalitățile au fost extinse, compatibilitatea a fost îmbunătățită și au fost adăugate opțiuni lipsă pentru uneltele 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 și uniq.

Sursa: opennet.ro
