Rust тілінде жазылған GNU Coreutils пакетінің әзірлемесі болып табылатын uutils coreutils 0.11.0 (Rust Coreutils) жобасы шығарылды. coreutils құрамында sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln және ls сияқты 100-ден астам утилиталар бар. Жобаның мақсаты - Coreutils-ке платформааралық балама жасау, ол келесі платформаларда жұмыс істей алады: Windows, Тотығу-тотықсыздану және фуксия.
Rust Coreutils шығарылымында әдепкі бойынша қосылған Ubuntu 25.10 және ішінара Ubuntu 26.04 сәуір. Rust Coreutils бағдарламасы AerynOS (Serpent OS) және Apertis (Collabora әзірлеген) дистрибутивтерінде де қолданылады. GNU Coreutils-тен айырмашылығы, Rust іске асыруы copyleft GPL орнына рұқсат етілген MIT лицензиясы бойынша таратылады. Сонымен қатар, сол әзірлеушілер тобы util-linux, diffutils, findutils, procps және acl утилита пакеттерінің, сондай-ақ sed және login бағдарламаларының Rust негізіндегі баламалы нұсқаларын әзірлеуде.
Rust Coreutils жаңа нұсқасында:
- GNU Coreutils эталондық жиынтығымен үйлесімділік деңгейі 95.33% құрады (94.44%-дан төмен). 653 тест сәтті өтті, бұл алдыңғы нұсқамен (645) салыстырғанда 8-ге көп. 22 тест сәтсіз аяқталды (29-дан төмен) және 15 тест өткізіп жіберілді (15-тен төмен).
- ariadne кітапханасына негізделген жаңа диагностикалық қозғалтқыш біріктірілді. Ол терминалда утилиталарды іске қосқан кезде визуалды қате есептерін көрсетеді, мәселені тудырған пәрмен жолы аргументтерін көрсетеді. Қатені визуализациялау келесі утилиталарда қосылған: 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 және du. Диагностикалық есептерді өшіру үшін UUTILS_DIAG орта айнымалысы ұсынылады.

- Профильге бағытталған оңтайландыру (PGO) шығарылым құрастырулары кезінде қосылады, бұл бағдарламаның орындалу мінез-құлқын талдау негізінде оңтайлы кодты жасайды. Әзірлеушілер кейбір операциялар үшін өнімділіктің 31%-ға дейін артуын бағалайды.
- cp (+32.93%), join (қажетсіз жергілікті салыстыруларды өшіру арқылы GNU-ға қарағанда 2.5 есе жылдам), od, ptx (+4%), nl, tail, expand, unexpand, numfmt және sort утилиталары үшін өнімділікті оңтайландыру жүзеге асырылды. GNU Coreutils-ке қарағанда операциялары айтарлықтай баяу болған жағдайлар қазір қателер болып саналады.
- pr, numfmt, join, id, mkdir, fold, sort, stat, od және date утилиталарының жұмысындағы GNU Coreutils-пен кейбір сәйкессіздіктер түзетілді.
- GNU Coreutils-ке тән опциялар енгізілді: "uname -A", "uname --all-labeled", "cut -F", "cut --whitespace-delimited", "pr --columns", "pr --join-lines", "pr -f".
- mv, cp, rm, chmod және stdbuf утилиталары жарыс жағдайларынан туындаған осалдықтардың алдын алу үшін күшейтілді, бұл деректерді ақпарат тексерілгеннен кейін, бірақ операция орындалмас бұрын өзгертуге мүмкіндік береді. Мысалы, файлды тексерудің аяқталуы мен операцияның басталуы арасындағы символдық байланыспен ауыстыруға болады. cp, chmod және mv утилиталарын root құқықтарымен іске қосылатын жүйелік скрипттерде пайдаланған кезде, мұндай осалдық кез келген файлдарды көшіруге немесе қайта жазуға мүмкіндік береді.
- split, yes, sort, stat, csplit, ls, od, nl, pr, csplit, dd, touch, tail, tac және who utilities бағдарламаларындағы істен шығуларды жою жұмыстары жүргізілді.
- Kill және uptime утилиталарының енгізілген нұсқалары Windows.
- byteorder, same-file, filetime, winapi-util, file_diff, mockstream, binary-heap-plus, compare, arrayref (жақында бұзылған), exacl және dns-lookup пакеттері std, rustix және windows-sys кітапханаларындағы функциялардың орнына қолданылмайды.
- ls және comm утилиталары енді таңбалардың мағынасын ескеретін салыстыруларды жүргізуге мүмкіндік беретін "collation" locale сипатын қолдайды (мысалы, салыстыру кезінде екпін белгілері еленбеуі мүмкін).
- nl және cut утилиталарында көпбайтты таңбаларды өңдеу жақсартылды.
Сонымен қатар, Canonical компаниясы Dev Container сипаттамасына сәйкес келетін Rust әзірлеуіне арналған екі эксперименттік контейнер кескінін шығарды. Бірінші кескінге Rust 1.93, Cargo, rust-analyzer, Clippy, Rustfmt, Miri (анықталмаған мінез-құлықты анықтауға арналған интерпретатор), cargo-auditable (құрастыру аудиті), GCC, Clang, LLD, pkg-config, Just, Git, Vim, Helix, Ripgrep, Hyperfine, Bacon, xh және curl кіреді. Екінші кескінге сонымен қатар әзірлеу пакеттері кіреді. Ubuntu: git-buildpackage, sbuild, ubuntu-dev-tools, devscripts, dh-make, dh-cargo, autopkgtest, cargo-vendor-filterer.
Ақпарат көзі: opennet.ru

