1 июня 2026, 05:03
Версия Rust Coreutils 0.9.0

В конце мая 2026 года состоялся выпуск открытого проекта Rust Coreutils 0.9.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.9.0 уровень совместимости с эталонным набором тестов GNU Coreutils составил 90.58% (было 94.74 процентов). Успешно выполнено 625 тестов, что на 5 меньше, чем в прошлой версии (630). 56 тестов завершилось неудачей (было 21), один проверка привёл к ошибке, а 8 тестов было пропущено (было 14). Снижение уровня совместимости объясняется обновлением набора тестов до состояния выпуска GNU Coreutils 9.11, в котором добавлено 25 новых тестов.


Основные доработки и улучшения в Rust Coreutils 0.9.0 включают в себя «значительное» повышение производительности основных утилит, расширенную поддержку WebAssembly и использования интерфейса WebAssembly System Interface (WASI), усиление защиты от паник в крайних случаях и новую онлайн-площадку для демонстрации тестирования Rust Coreutils в веб-браузере с интерактивным терминалом, в котором можно запускать утилиты uutils. В новой версии Rust Coreutils равным образом удалили больше небезопасного кода из различных основных утилит.
В новой версии Rust Coreutils:
устранены 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.

Читают сейчас

4 часа назад
Prusa представила PrusaSlicer 3.0 с новым интерфейсом и поддержкой плагинов
Команда Prusa Research выпустила первую публичную альфа‑версию слайсера PrusaSlicer 3.0. Авторы переписали интерфейс, переработали систему профилей, добавили поддержку полноценной работы с несколькими

5 часов назад
Anthropic обновила Claude – вышли Fable 5.1 и Mythos 5.1
Anthropic выпустила апдейт своих топовых моделей – Claude Fable 5.1 и Claude Mythos 5.1. Это одна и та же модель под капотом, различающаяся уровнем защитных ограничений: Fable 5.1 доступна всем в цело

5 часов назад
Creality представила 3D‑принтер SPARKX i8 с поддержкой многоцветной печати и быстрой сменой филамента
Creality представила 3D‑принтер SPARKX i8 с поддержкой четырёхцветной печати. Его главная особенность заключается в системе QuarTeks, в которой прутки филамента подведены практически к самому соплу, б

5 часов назад
Базовая релиз MacBook Neo аномально быстро расходует источник SSD из‑за всего 8 ГБ оперативной памяти
Автор YouTube‑канала UFD Tech рассказал, что MacBook Neo необычно быстро расходует источник SSD‑накопителя. Всё дело в небольшом объёме оперативной памяти, из‑за которой устройство активно записывает

5 часов назад
Anthropic предупредила пользователей Claude об утечке их данных для входа из‑за вредоносного ПО
Организация Anthropic предупредила, что инфостилеры перехватывают сеансы Claude и открывают злоумышленникам доступ к учётным записям пользователей. Читать далее