Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

Выпуск uutils 0.9, варианта GNU Coreutils на языке Rust

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 1862
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 58 раз
Поблагодарили: 28 раз

Выпуск uutils 0.9, варианта GNU Coreutils на языке Rust

Сообщение root:# »

Выпуск uutils 0.9, варианта GNU Coreutils на языке Rust
Опубликован выпуск проекта uutils coreutils 0.9.0 (Rust Coreutils), развивающего аналог пакета GNU Coreutils, написанный на языке Rust. В состав coreutils входит более ста утилит, включая sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. Целью проекта является создание кроссплатформенной альтернативной реализации Coreutils, среди прочего способной работать на платформах Windows, Redox и Fuchsia.
Rust Coreutils задействован по умолчанию в выпуске Ubuntu 25.10 и частично в Ubuntu 26.04. Rust Coreutils также применяется в дистрибутивах AerynOS (Serpent OS) и Apertis (развивается компанией Collabora). В отличие от GNU Coreutils реализация на Rust распространяется под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL. Дополнительно той же командой разработчиков развиваются написанные на Rust аналоги наборов утилит util-linux, diffutils, findutils, procps и acl, а также программ sed и login.

В новой версии Rust Coreutils:
[*] Уровень совместимости с эталонным набором тестов GNU Coreutils составил 90.58% (было 94.74%). Успешно выполнено 625 тестов, что на 5 меньше, чем в прошлой версии (630). 56 тестов завершилось неудачей (было 21), один тест привёл к ошибке, а 8 тестов было пропущено (было 14). Снижение уровня совместимости объясняется обновлением набора тестов до состояния выпуска GNU Coreutils 9.11, в котором добавлено 25 новых тестов. Устранены 44 уязвимости, выявленных в ходе аудита, проведённого компанией Zellic. Большинство уязвимостей вызвано расхождением поведения с GNU coreutils или состоянием гонки, позволяющим изменить данные в момент после проверки корректности информации, но до выполнения операции с ними, например, подменить файл на символическую ссылку в момент между завершением проверки и началом выполнения операции. В контексте использования утилит cp, chmod и mv в системных скриптах, запускаемых с правами root, подобные уязвимости позволяют скопировать или перезаписать произвольные файлы. Для защиты от уязвимостей, вызванных состоянием гонки в проекте задействован модуль uucore::safe_copy. Информация об уязвимостях опубликована в отдельной новости. Продолжен перевод утилит на crate-пакет rustix вместо crate-пакета nix. На rustix переведены утилиты id, tr, timeout, sort, wc, tail, cp, who и factor. Проведена чистка кода от unsafe-операций в различных утилитах. В утилитах cat, wc, head, tail, yes, cp, tee и unexpand задействованы обработчики ввода/вывода на базе системных вызовов splice(), tee() и pipe(), позволившие ускорить работу за счёт исключения лишнего копирования данных между буферами. Улучшена совместимость с GNU Coreutils утилит numfmt, date, tr, cksum, factor, head, stat и sort. В утилиты ln, dd, mktemp и tty добавлена поддержка сборки в формате WebAssembly и использования интерфейса WASI (WebAssembly System Interface). [*] Расширены возможности, устранены проблемы и добавлены недостающие опции для утилит cat, chroot, cksum, cp, date, dd, df, dirname, du, echo, env, expr, factor, fmt, head, id, install, join, ln, logname, ls, md5sum, mkdir, mknod, mktemp, more, mv, nl, nohup, nproc, numfmt, od, paste, pinky, pr, realpath, rm, rmdir, shred, sort, split, stat, stdbuf, stty, sum, sync, tail, tee, timeout, touch, tr, tty, unexpand, uniq, uptime, wc, who, yes.
Источник: https://www.opennet.ru/opennews/art.shtml?num=65586