2 февраля 2026 года состоялся релиз открытого проекта Rust Coreutils 0.6.0 (uutils), развивающего аналог пакета GNU Coreutils, написанный на языке Rust. В состав coreutils входит более сотни утилит, включая wc, ls, tail, se, sort, cat, chmod, chown, chroot, cp, date, dd, du, install, echo, hostname, id, ln, ls и многие другие.

Целью проекта Rust Coreutils является создание кроссплатформенной альтернативной реализации Coreutils, способной работать в том числе на платформах Windows, Redox и Fuchsia.

Решение Rust Coreutils используется по умолчанию в дистрибутиве Ubuntu, начиная с выпуска 25.10. Ранее команда проекта Ubuntu объявила об обнаруженной ошибке в версии команды date (на основе uutils на языке Rust), поставляемой с Ubuntu 25.10, которая нарушила автоматическое обновление системы. Также Rust Coreutils применяется в дистрибутивах AerynOS (Serpent OS) и Apertis (развивается компанией Collabora).

В отличие от GNU Coreutils реализация на Rust распространяется под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL. Дополнительно команда разработчиков Rust Coreutils развивает написанные на Rust аналоги наборов утилит util-linux, diffutils, findutils, procps и acl, а также программ sed и login.

Версия Rust Coreutils 0.6.0 достигнут уровень совместимости с эталонным тестовым набором GNU Coreutils - 96.28% (было 87.75%). Успешно выполнено 622 тестов, что на 56 больше, чем в прошлой версии (566). 16 (было 55) тестов завершилось неудачей, а 7 (было 23) тестов было пропущено. Наиболее значительное повышение совместимости отмечено для утилит sort, ls, date, cksum и tail.

По информации OpenNET, основные доработки и улучшения в Rust Coreutils 0.6.0:

  • из date, sort, locale.rs и других утилит удалён код, в котором использовалось ключевое слово unsafe;

  • обращения к стандартной библиотеке libc заме��ены на эквивалентные защищённые вызовы, предоставляемые пакетом nix;

  • улучшена обработка ошибок, исключены аварийные завершения при записи в /dev/full;

  • в утилите date реализована локализация названий месяцев и дней, учитывающая ICU. Обеспечено форматирование часов и календаря с учётом локали;

  • в утилите sort обеспечена сортировка чисел c разделителями тысяч и реализована обработка параметров +POS/‑POS;

  • в утилиту join добавлена поддержка свойств локали collation, позволяющих выполнять сопоставления с учётом смысла символов (например, при сравнении может не приниматься во внимание знак ударения);

  • проведена оптимизация производительности утилит base32, base64, basenc и df;

  • в утилите uniq снижено потребление памяти при работе без учёта регистра;

  • в утилите shuf оптимизирован числовой вывод и добавлена опция «‑random‑seed».

  • в tsort исключена загрузка всех входных данных в память;

  • в утилиту tail добавлен флаг «‑debug»;

  • в утилите chmod решены проблемы с рекурсивным выполнением операций и добавлена опция «‑preserve‑root»;

  • на Unix‑подобных системах усилена безопасность при обходе содержимого каталогов;

  • в утилиты ls, id, mkdir, mkfifo и mknod добавлена поддержка механизма мандатного контроля доступа SMACK;

  • в систему непрерывной интеграции добавлена проверка сборки на 64-разрядных системах RISC‑V с библиотекой musl;

  • улучшена работа в Windows с использованием Cygwin;

  • расширены возможности, устранены проблемы и добавлены недостающие опции для утилит arch, base64, basename, cat, chgrp, chmod, chroot, cksum, comm, cp, csplit, date, dd, df, dir, dirname, du, echo, env, expand, expr, fmt, fold, groups, hashsum, head, hostid, id, install, join, kill, ln, logname, ls, mkdir, mkfifo, mknod, mktemp, more, mv, nice, nl, nohup, nproc, numfmt, pr, printenv, printf, ptx, readlink, rm, rmdir, runcon, seq, shred, shuf, sort, split, stat, stdbuf, stty, sync, tac, tail, tee, test, timeout, touch, truncate, tsort, uname, unexpand, uniq, uptime, users, wc, yes, ucore, uucore, uudoc.