85,8% совместимости: Rust Coreutils прошел 544 теста GNU и стал быстрее

85,8% совместимости: Rust Coreutils прошел 544 теста GNU и стал быстрее

Разработчики готовятся к полной замене классических системных утилит.

image

Команда uutils представила Rust Coreutils 0.4.0 — новую версию системных утилит на языке Rust, приближающую проект к полной совместимости с GNU Coreutils. Обновление улучшило производительность, стабильность и кроссплатформенность.

Rust Coreutils теперь проходит 544 теста GNU test suite, что на 12 больше, чем в предыдущем релизе, и достигает 85,8 % совместимости с GNU Coreutils. Количество ошибок снизилось с 68 до 56, что демонстрирует рост точности и надёжности.

Оптимизации коснулись утилит factor, tsort, cksum и mkdir. В factor внедрена библиотека num_prime, которая ускоряет факторизацию чисел u64 и u128. В tsort исправлены переполнения стека за счёт перехода на итеративный DFS. Для cksum добавлены бенчмарки производительности, а mkdir теперь корректно обрабатывает глубоко вложенные каталоги.

Утилита date получила улучшенную поддержку часовых поясов и их аббревиатур, что делает её поведение ближе к GNU-версии. В cksum добавлены алгоритмы SHA-2 и SHA-3, а также исправлена реализация CRC32B для точного совпадения с GNU Coreutils.

Проект также улучшил поддержку OpenBSD и FreeBSD: теперь на этих платформах корректно работают stdbuf и uptime, а сборка и тесты проходят без ошибок. Это делает Rust Coreutils более универсальным решением для UNIX-подобных систем.

Важным шагом стало объединение функциональности hashsum и cksum. Разработчики убрали бинарники, не совместимые с GNU, и объявили hashsum устаревшей, предложив использовать cksum в качестве замены.

Релиз 0.4.0 стал частью стратегии по созданию безопасной и современной альтернативы классическим утилитам GNU. Команда uutils отмечает, что доля успешно пройденных тестов и стабильность системы растут с каждым выпуском, приближая Rust Coreutils к полной совместимости с оригинальными инструментами.