Rust tilida yozilgan GNU Coreutils paketining rivojlanishi bo'lgan uutils coreutils 0.11.0 (Rust Coreutils) loyihasi chiqarildi. coreutils tarkibiga sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln va ls kabi 100 dan ortiq yordamchi dasturlar kiradi. Loyihaning maqsadi Coreutilsga platformalararo alternativ yaratish bo'lib, u quyidagi platformalarda ishlay oladi: Windows, Redoks va Fuşya.
Rust Coreutils versiyasida sukut bo'yicha yoqilgan Ubuntu 25.10 va qisman ichida Ubuntu 26.04-aprel. Rust Coreutils shuningdek, AerynOS (Serpent OS) va Apertis (Collabora tomonidan ishlab chiqilgan) distributivlarida ham qo'llaniladi. GNU Coreutilsdan farqli o'laroq, Rust implementatsiyasi copyleft GPL o'rniga ruxsat beruvchi MIT litsenziyasi ostida tarqatiladi. Bundan tashqari, xuddi shu ishlab chiquvchilar jamoasi util-linux, diffutils, findutils, procps va acl utility to'plamlarining Rust asosidagi ekvivalentlarini, shuningdek, sed va login dasturlarini ishlab chiqmoqda.
Rust Coreutils-ning yangi versiyasida:
- GNU Coreutils benchmark to'plami bilan moslik darajasi 95.33% ni tashkil etdi (94.44% dan past). 653 ta test muvaffaqiyatli o'tdi, bu avvalgi versiyadagiga (645) nisbatan 8 taga ko'p. 22 ta test muvaffaqiyatsiz tugadi (29 tadan kam) va 15 ta test o'tkazib yuborildi (15 tadan kam).
- Ariadne kutubxonasiga asoslangan yangi diagnostika mexanizmi integratsiya qilindi. U terminalda yordamchi dasturlarni ishga tushirishda vizual xato hisobotlarini ko'rsatadi va muammoga sabab bo'lgan buyruq satri argumentlarini ta'kidlaydi. Xatolarni vizualizatsiya qilish quyidagi yordamchi dasturlarda yoqilgan: 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 va du. Diagnostika hisobotlarini o'chirish uchun UUTILS_DIAG muhit o'zgaruvchisi taklif qilingan.

- Relizlarni yaratish jarayonida profilga asoslangan optimallashtirish (PGO) yoqiladi, bu dasturni bajarish xatti-harakatlarini tahlil qilish asosida yanada maqbul kod yaratadi. Ishlab chiquvchilar ba'zi operatsiyalar uchun 31% gacha ishlash samaradorligini taxmin qilishadi.
- cp (+32.93%), join (keraksiz mahalliy taqqoslashlarni o'chirib qo'yish orqali GNUga qaraganda 2.5 baravar tezroq), od, ptx (+4%), nl, tail, expand, unexpand, numfmt va sort yordamchi dasturlari uchun unumdorlikni optimallashtirish amalga oshirildi. GNU Coreutilsga qaraganda sezilarli darajada sekinroq operatsiyalarga ega bo'lgan holatlar endi xatolar deb hisoblanadi.
- GNU Coreutils bilan pr, numfmt, join, id, mkdir, fold, sort, stat, od va date yordamchi dasturlarining ishlashidagi ba'zi nomuvofiqliklar tuzatildi.
- GNU Coreutils-ga xos variantlar joriy etildi: "uname -A", "uname --all-labeled", "cut -F", "cut --whitespace-delimited", "pr --columns", "pr --join-lines", "pr -f".
- mv, cp, rm, chmod va stdbuf yordamchi dasturlari poyga sharoitlari tufayli yuzaga keladigan zaifliklarning oldini olish uchun kuchaytirildi, bu esa ma'lumotlar tekshirilgandan keyin, lekin operatsiya bajarilishidan oldin ma'lumotlarni o'zgartirishga imkon beradi. Masalan, faylni tekshirish tugallanishi va operatsiya boshlanishi o'rtasidagi ramziy bog'liqlik bilan almashtirish mumkin. cp, chmod va mv yordamchi dasturlarini root imtiyozlari bilan ishlaydigan tizim skriptlarida ishlatganda, bunday zaifliklar ixtiyoriy fayllarni nusxalash yoki ustiga yozish imkonini berishi mumkin.
- Split, yes, sort, stat, csplit, ls, od, nl, pr, csplit, dd, touch, tail, tac va who utilities dasturlaridagi ishdan chiqishlarni bartaraf etish bo'yicha ishlar olib borildi.
- O'ldirish va ish vaqti yordamchi dasturlarining joriy qilingan variantlari Windows.
- byteorder, same-file, filetime, winapi-util, file_diff, mockstream, binary-heap-plus, compare, arrayref (yaqinda buzilgan), exacl va dns-lookup paketlari std, rustix va windows-sys kutubxonalaridagi funksiyalar o'rniga bekor qilindi.
- ls va comm yordamchi dasturlari endi belgilarning ma'nosini hisobga olgan holda taqqoslash imkonini beruvchi "collation" locale xususiyatini qo'llab-quvvatlaydi (masalan, taqqoslash paytida urg'u belgilari e'tiborga olinmasligi mumkin).
- NL va Cut yordamchi dasturlarida ko'p baytli belgilarni qayta ishlash yaxshilandi.
Bundan tashqari, Canonical Dev Container spetsifikatsiyasiga mos keladigan Rust ishlab chiqish uchun ikkita eksperimental konteyner tasvirlarini chiqardi. Birinchi tasvirga Rust 1.93, Cargo, rust-analyzer, Clippy, Rustfmt, Miri (aniqlanmagan xatti-harakatlarni aniqlash uchun tarjimon), cargo-auditable (qurish auditi), GCC, Clang, LLD, pkg-config, Just, Git, Vim, Helix, Ripgrep, Hyperfine, Bacon, xh va curl kiradi. Ikkinchi rasmga shuningdek, ishlab chiqish paketlari ham kiradi. Ubuntu: git-buildpackage, sbuild, ubuntu-dev-tools, devscripts, dh-make, dh-cargo, autopkgtest, cargo-vendor-filterer.
Manba: opennet.ru

