Логотип

Rust Coreutils 0.4 повышает совместимость с GNU до 85 %

Rust Coreutils 0.4 повышает совместимость с GNU до 85 %

Проект Rust Coreutils, целью которого является создание полноценной современной реализации GNU Core Utilities на языке Rust — основных инструментов командной строки, которые есть в каждой Linux- и Unix-подобной операционной системе, — объявил о выпуске версии 0.4.

Примечательно, что растущая зрелость проекта уже привела к его внедрению в некоторых дистрибутивах Linux, таких как Ubuntu 25.10 “Questing Quokka” и AerynOS, в которых теперь используются Rust Coreutils для некоторых системных утилит.

Версия 0.4 ещё на шаг приближает этот релиз к полной совместимости с GNU Coreutils. По словам разработчиков, последние результаты тестирования показывают, что 544 теста пройдены успешно, по сравнению с 532 тестами в предыдущей версии 0.3. Таким образом, общая совместимость выросла до 85,8 %, а количество неудачных тестов сократилось с 68 до 56.

Среди заметных улучшений — более корректная обработка часовых поясов в утилите date, что приближает её поведение к версии GNU, а также общие исправления для таких инструментов, как catcomm, и readlink.

Несколько утилит также были оптимизированы для повышения производительности и стабильности. Команда factor теперь использует модуль num_prime для значительно более быстрой факторизации u64 и u128. Утилита tsort была переписана с использованием итеративного алгоритма поиска в глубину, что позволило устранить потенциальное переполнение стека в глубоко вложенных графах зависимостей.

Читать  Как остановить и отключить ненужные службы в системе Linux

Кроме того, инструмент cksum был значительно переработан: он получил поддержку эталонных тестов и алгоритмов SHA-2 и SHA-3. Он также интегрирует функции hashsum, которые теперь устарели, чтобы устранить расхождения в интерфейсе с реализацией GNU.

Другие утилиты также получили целевые исправления: mkdir теперь безопасно обрабатывает глубоко вложенные каталоги без переполнения стека, printf лучше справляется с большими форматами, а dd корректно обрабатывает частичную запись блоков при использовании O_DIRECT.

Кроме того, в Rust Coreutils 0.4.0 реализована более широкая кроссплатформенная совместимость: добавлена поддержка stdbuf и uptime в OpenBSD, а также улучшена сборка и тестирование в FreeBSD.

Полный список изменений и технические подробности см. в журнале изменений.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала