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

Опубликован выпуск проекта uutils coreutils 0.2.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 применяется в дистрибутивах AerynOS (Serpent OS) и Apertis, а такжебудет задействован по умолчанию в осеннем выпуске Ubuntu 25.10. В отличие от GNU Coreutils реализация на Rust распространяется под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL. Дополнительно той же командой разработчиков развиваются написанные на Rust аналоги наборов утилит util-linux, diffutils, findutils и procps, а также программ sed и login.

В новой версии Rust Coreutils:

  • Пакет признан полностью готовым для рабочего применения в Ubuntu. Устранены все проблемы, мешавшие переходу Ubuntu по умолчанию на Rust Coreutils.
  • Добавлена поддержка локализации и интернационализации. Введена в строй инфрастурктура для поддержания переводов сообщений на разные языки. Учтены параметры локали при форматировании вывода и начат перевод на разные языки сообщений об ошибках. Для поддержки многоязычности задействована система локализации Fluent, развиваемая Mozilla и используемая в Firefox.
  • Добавлена поддержка Unicode. Символы Unicode, в том числе emoji, теперь могут применяться при обработке содержимого и параметров, например, в качестве разделителей полей: ‘echo “🍔🍟🥤” | cut -d”🍟” -f1’).
  • Проведена оптимизация производительности утилит tr, sort и cat.
    Производительность утилиты tr повышена в 15 раз – ранее данная утилита была медленнее GNU tr в 9.8 раз, а теперь быстрее в 1.58 раза.
  • Улучшена совместимость с эталонным тестовым набором GNU Coreutils, при прохождении которого успешно выполнено 538 тестов (в прошлой версии 522), 52 (65) теста завершилось неудачей, а 27 (31) тест был пропущен.

  • Улучшена совместимость с GNU Coreutils для утилит date, du, fmt, ls и sort.
  • Расширены возможности, устранены проблемы и добавлены недостающие опции для утилит basenc, basename, cat, chmod, chown, cksum, cp, split, date, dd, du, echo, env, expr, factor, fold, hashsum, head, install, ln, logname, ls, mkdir, mkfifo, mktemp, more, mv, nice, nl, od, pr, printf, pwd, realpath, rm, shred, sort, stat, stdbuf, stty, sync, tail, tee, timeout, touch, tr, uname, unexpand, uptime, users и who.
Release. Ссылка here.