0.11 uutils релизи, GNU Coreutilsтин Rust варианты

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 utility топтомдорунун, ошондой эле 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" локалдык касиетин колдойт (мисалы, салыштыруу учурунда басым белгилери этибарга алынбашы мүмкүн).
  • nl жана cut утилиталарында көп байттуу символдорду иштетүү жакшыртылды.

Мындан тышкары, Canonical компаниясы Rust иштеп чыгуу үчүн Dev Container спецификациясына ылайык келген эки эксперименталдык контейнер сүрөтүн чыгарды. Биринчи сүрөткө 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.

Source: opennet.ru

DDoS коргоосу, VPS VDS серверлери бар сайттар үчүн ишенимдүү хостинг сатып алыңыз 🔥 DDoS коргоосу, VPS VDS серверлери бар ишенимдүү веб-сайт хостингин сатып алыңыз | ProHoster