De stabiele versie van de GNU Coreutils 9.5 is uitgebracht, die programma's bevat zoals sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls, enzovoort.
Belangrijke vernieuwingen:
- In de utilities cp, mv, install, cat en split zijn optimalisaties doorgevoerd voor lees- en schrijfoperaties. De minimale grootte van leesbare of schrijfbare blokken is vergroot van 128KiB naar 256KiB, wat heeft geleid tot een toename van de doorvoersnelheid bij het lezen van gecachte bestanden met 10-20%.
- In de utilities env, kill en timeout is ondersteuning toegevoegd voor ongebenoembare signalen.
- Door het uitsluiten van de transformatie van overbodige MCS/MLS-labels is de efficiëntie van kopieeroperaties in een SELinux-systeem verbeterd.
- De opstarttijd van de utility sort is verminderd door het stoppen van dynamische linking met de libcrypto-bibliotheek in situaties waarin de optie '-R' niet is opgegeven.
- De utility wc is aanzienlijk versneld in omgevingen met eencijferige locale's en iets versneld op systemen met meercijferige locale's.
- Aan de utility chgrp is ondersteuning toegevoegd voor de optie '—from=OWNER:GROUP' om wijzigingen alleen toe te passen op bestanden met de opgegeven eigenaar en groep.
- In de utility chmod zijn, net als bij de utilities chown en chmod, de opties '-h', '-H', '-L', '-P' en '—dereference' geïmplementeerd voor extra mogelijkheden voor het verwerken van symbolische links.
- Aan de utility cp is de optie '—keep-directory-symlink' toegevoegd om bestaande symbolische links naar directories te behouden en te volgen.
- Aan de utilities cp en mv is de optie '—update=none-fail' toegevoegd, die lijkt op de optie '—no-clobber', met als uitzondering dat de uitvoering eindigt in een foutmelding als de bestanden al bestaan.
- Aan de utility env is de optie -a (—argv0) toegevoegd om de nulparameter van de commandoregel (pad naar het uitvoerbare bestand) te overschrijven.
- Aan de utility mv is de optie '—exchange' toegevoegd om de inhoud van de bron en bestemming uit te wisselen (bijvoorbeeld, bij het uitvoeren van 'mv —exchange A B', zullen de inhoud van A en B omwisselen, d.w.z. A wordt naar B verplaatst en B naar A).
- In de utility tail is ondersteuning toegevoegd voor het volgen van de uitvoer van meerdere processen door meerdere '—pid'-opties herhaaldelijk op te geven.
Enkele dagen geleden werd ook de uitgave van het uutils coreutils project 0.0.25 gepubliceerd, dat een alternatief ontwikkelt voor het GNU Coreutils pakket, herschreven in de programmeertaal Rust. Coreutils bevat meer dan honderd hulpprogramma's, waaronder sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln en ls. Het doel van het project is om een cross-platform alternatieve implementatie van Coreutils te creëren, die ook kan draaien op platforms zoals Windows, Redox en Fuchsia. In tegenstelling tot GNU Coreutils is de implementatie in Rust beschikbaar onder de permissieve MIT-licentie, in plaats van de copyleft GPL-licentie.
In de nieuwe versie van uutils is de release van GNU Coreutils 9.4 als referentie gebruikt. De compatibiliteit met de referentietests van GNU Coreutils is verbeterd, waarbij 437 tests met succes zijn uitgevoerd (in de vorige versie 422), 117 (132) tests zijn mislukt en 50 (50) tests zijn overgeslagen. Volledige compatibiliteit met GNU Coreutils is gegarandeerd voor de hulpprogramma's 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 en yes.
De mogelijkheden zijn uitgebreid, de compatibiliteit is verbeterd en ontbrekende opties zijn toegevoegd voor de hulpprogramma's 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 en uniq.

Bron: opennet.ru
