Udgivelsen af uutils 0.11, en variant af GNU Coreutils skrevet i Rust.

Udgaven er kommet for projektet uutils coreutils 0.11.0 (Rust Coreutils), som udvikler en alternativ pakke til GNU Coreutils, skrevet i Rust. Coreutils inkluderer over hundrede værktøjer, herunder sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln og ls. Projektets mål er at skabe en platformuafhængig alternativ implementering af Coreutils, blandt andet i stand til at arbejde på Windows, Redox og Fuchsia.

Rust Coreutils er som standard aktiveret i udgaven Ubuntu 25.10 og delvist i Ubuntu 26.04. Rust Coreutils anvendes også i distributionerne AerynOS (Serpent OS) og Apertis (udviklet af Collabora). I modsætning til GNU Coreutils distribueres implementeringen på Rust under den permissive MIT-licens i stedet for copyleft-licensen GPL. Desuden udvikles der af det samme udviklerhold Rust-versioner af util-linux, diffutils, findutils, procps og acl, samt programmerne sed og login.

I den nye version af Rust Coreutils:

  • Kompatibilitetsniveauet med den reference test suite for GNU Coreutils er nået 95,33% (op fra 94,44%). 653 tests blev udført med succes, hvilket er 8 mere end i den tidligere version (645). 22 tests mislykkedes (op fra 29), og 15 tests blev sprunget over (samme som før).
  • En ny diagnostikmotor er integreret, baseret på biblioteket ariadne, som viser klare fejlrapporter ved kørsel af værktøjerne i terminalen, med markering af de kommandolinjeargumenter, der forårsagede problemet. Fejlvisualisering er aktiveret i værktøjerne chmod, mkdir, mkfifo, mknod, install, tr, expr, sort, numfmt, cut, env, head, tail, truncate, split, shred, stdbuf, od, seq, dd, stat, join, csplit, ls, df og du. For at deaktivere diagnostiske rapporter er der foreslået en miljøvariabel UUTILS_DIAG.
  • Under opbygning af udgivelser er optimeringer aktiveret baseret på resultaterne fra kodeprofilering (PGO — Profile-guided optimization), som muliggør generering af mere optimal kode baseret på analyse af programmets udførelseskarakteristika. Ifølge udviklernes vurdering var stigningen i ydeevnen ved udførelse af visse operationer op til 31%.
  • Der er udført ydeevneoptimering af værktøjerne cp (+32,93%), join (2,5 gange hurtigere end GNU ved at deaktivere unødvendige lokalitetskomparitioner), od, ptx (+4%), nl, tail, expand, unexpand, numfmt og sort. Fejl i udførelsen af operationer, der var betydeligt langsommere end i GNU Coreutils, er nu blevet betragtet som fejl.
  • Der er udelukket enkelte uoverensstemmelser med GNU Coreutils i adfærden af værktøjerne pr, numfmt, join, id, mkdir, fold, sort, stat, od og date.
  • Specifikke GNU Coreutils-indstillinger er implementeret: "uname -A", "uname --all-labeled", "cut -F", "cut --whitespace-delimited", "pr --columns", "pr --join-lines", "pr -f".
  • I værktøjerne mv, cp, rm, chmod, stdbuf er der udført arbejde for at styrke sikkerheden mod sårbarheder forårsaget af race conditions, der tillader ændringer af data i perioden efter validering af informationerne, men før udførelse af operationen på dem, for eksempel at erstatte en fil med et symbolsk link i det øjeblik, hvor kontrollen er afsluttet og operationen begynder. I forbindelse med brugen af værktøjerne cp, chmod og mv i systemscripts, der kører med root-rettigheder, kan sådanne sårbarheder tillade kopiering eller overskrivning af vilkårlige filer.
  • Der er udført arbejde for at eliminere nedbrud i værktøjerne split, yes, sort, stat, csplit, ls, od, nl, pr, csplit, dd, touch, tail, tac, who.
  • Der er implementeret versioner af værktøjerne kill og uptime til Windows.
  • Brugen af pakkerne byteorder, same-file, filetime, winapi-util, file_diff, mockstream, binary-heap-plus, compare, arrayref (som for nylig blev kompromitteret), exacl og dns-lookup er ophørt til fordel for funktioner fra bibliotekerne std, rustix og windows-sys.
  • Værktøjerne ls og comm har fået tilføjet understøttelse af lokalpsejlerne "collation", der gør det muligt at udføre sammenligninger under hensyntagen til tegns mening (for eksempel kan accenter i sammenligninger ignoreres).
  • Der er forbedret håndtering af multibyte-tegn i værktøjerne nl og cut.

Yderligere kan det nævnes, at Canonical har offentliggjort to eksperimentelle containerbilleder med komponenter til udvikling af programmer i Rust, der overholder specifikationen for Dev Container. Det første billede inkluderer Rust 1.93, Cargo, rust-analyzer, Clippy, Rustfmt, Miri (en fortolker til detektering af ubestemt adfærd), cargo-auditable (audit af builds), GCC, Clang, LLD, pkg-config, Just, Git, Vim, Helix, Ripgrep, Hyperfine, Bacon, xh og curl. Det andet billede indeholder desuden pakker til udvikling på Ubuntu: git-buildpackage, sbuild, ubuntu-dev-tools, devscripts, dh-make, dh-cargo, autopkgtest, cargo-vendor-filterer.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster