UtgÄvan av projektet uutils coreutils 0.3.0 (Rust Coreutils) har publicerats. Detta projekt utvecklar ett alternativ till GNU Coreutils, och Àr skrivet i Rust. Coreutils inkluderar över ett hundra verktyg, inklusive sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln och ls. MÄlet med projektet Àr att skapa en plattformsoberoende alternativ implementation av Coreutils, som bland annat kan köras pÄ Windows, Redox och Fuchsia.
Rust Coreutils anvÀnds som standard i versionen av Ubuntu 25.10 och anvÀnds i distributionerna AerynOS (Serpent OS) och Apertis (utvecklas av Collabora). Till skillnad frÄn GNU Coreutils distribueras Rust-implementeringen under den permissiva MIT-licensen, istÀllet för copyleft-licensen GPL. Dessutom utvecklar samma team av utvecklare Rust-baserade alternativ till verktygen util-linux, diffutils, findutils och procps, samt programmen sed och login.
I den nya versionen av Rust Coreutils:
- Prestandan för vissa verktyg har förbÀttrats avsevÀrt, till exempel Àr sort nu 3,72 gÄnger snabbare vid vanlig sortering och 1,46 gÄnger snabbare vid sortering av siffror jÀmfört med GNU Coreutils; base64 Àr 1,2 gÄnger snabbare, expand Àr 1,8 gÄnger snabbare, unexpand Àr 1,5 gÄnger snabbare, nl Àr 1,57 gÄnger snabbare, fold Àr 1,19 gÄnger snabbare och «uniq -c» Àr 1,13 gÄnger snabbare.
- Infrastrukturen för att övervaka prestanda har skapats med hjÀlp av CodSpeed-verktyget. I det kontinuerliga integrationssystemet sÀkerstÀlls identifiering av regressioner i prestanda. Prestandatester har lagts till för 15 verktyg, inklusive sort, ls, uniq, du och base64.
- För verktygen rm, du, chmod och chgrp har sÀker hantering av relativa sökvÀgar implementerats, baserat pÄ anvÀndningen av funktionerna openat och unlinkat.
- SÀkerheten har ökat genom anvÀndning av crate-paketet nix istÀllet för osÀkra libc-anrop.
- Felhanteringen har förbÀttrats och Àr mer i linje med GNU Coreutils i mÄnga verktyg.
- Kompatibiliteten med Coreutils har förbÀttrats nÀr det gÀller filvÀgar som innehÄller och inte innehÄller UTF8-tecken.
- Kompatibiliteten med den referenstestning som utförs av GNU Coreutils har förbÀttrats, med 532 tester som passerades (tidigare 538), 68 (52) tester som misslyckades och 33 (27) tester som drogs tillbaka. Den deklarerade kompatibilitetsnivÄn Àr 83,91% (tidigare 87,06%). Minskningen i kompatibilitetsnivÄn förklaras av att 16 nya tester har lagts till i testmÀngden.
- I verktyget date har en option «âreference=file» implementerats för att visa tidpunkten för filens modifiering. PĂ„ grund av att denna option saknas i Ubuntu har skriptet för automatisk kontroll av tillgĂ€ngliga uppdateringar slutat fungera. I date har Ă€ven logiken för tidsparsing konsoliderats, kompatibiliteten i GNU date med optionen «-d» har förbĂ€ttrats, och flaggan «âresolution» har lagts till för att visa data om noggrannheten i tidtagningen.
- Följande alternativ har implementerats: «basenc âbase58», «id -a», «ls -f», «pinky âlookup», «realpath -E», «rm âprogress».
- Funktionaliteten har utökats, problem har ÄtgÀrdats och saknade alternativ har lagts till för verktygen base64, basenc, chgrp, chmod, cksum, cp, csplit, date, df, dirname, du, expand, expr, fold, hashsum, hostname, id, install, ln, ls, mv, nl, nohup, numfmt, od, pinky, ptx, realpath, rm, seq, sort, stat, stdbuf, stty, tail, timeout, touch, tsort, unexpand, uniq, uname, wc, who, uucore.
KĂ€lla: opennet.ru
