|
Опубликован выпуск проекта uutils coreutils 0.8.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 и применяется в дистрибутивах AerynOS (Serpent OS) и Apertis (развивается компанией Collabora). В отличие от GNU Coreutils реализация на Rust распространяется под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL. Дополнительно той же командой разработчиков развиваются написанные на Rust аналоги наборов утилит util-linux, diffutils, findutils, procps и acl, а также программ sed и login.
В новой версии Rust Coreutils:
- Уровень совместимости с эталонным набором тестов GNU Coreutils составил 94.74% (было 94.59%). Успешно выполнено 630 тестов, что на 1 больше, чем в прошлой версии (629). 21 тест завершился неудачей (было 23), а 14 тестов было пропущено (было 13).
- В утилитах cat, df, wc, tty, tsort, tail, touch, date, mkdir и uucore вместо crate-пакета nix задействован rustix. Сокращён объём undafe-кода в утилитах hostname, logname, who и nice.
- Проведены оптимизации производительности утилит dd (+45%), ls,
sort, wc, cat, tee, numfmt (+3%) и pr. Сокращён размер исполняемых файлов true, false и echo.
- В более 70 утилит, включая ls, head, cat, cp, mv, sort и tail, добавлена поддержка сборки в формате WebAssembly и использования интерфейса WASI (WebAssembly System Interface). Подготовлен демонстрационный online-сервис с интерактивным терминалом, в котором можно запускать утилиты uutils.
- Расширены возможности, устранены проблемы и добавлены недостающие опции для утилит cat, chown, cksum, cp, cut, date, dd, df, env, expand, expr, factor, head, install, ln, ls, mkdir, nice, numfmt, od, pr, sort, split, stdbuf, stty, sync, tee, timeout, touch, tr,
true, tsort, tty, wc, yes.
|