The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

09.03.2026 08:52 (MSK)

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

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

  • Уровень совместимости с эталонным тестовым набором GNU Coreutils составил 94.59% (было 96.28%). Успешно выполнено 629 тестов, что на 7 больше, чем в прошлой версии (622). 23 (было 16) теста завершилось неудачей, а 13 (было 7) тестов было пропущено. Снижение уровня совместимость объясняется обновлением тестового набора до состояния выпуска GNU Coreutils 9.10, в котором добавлено 19 новых тестов. Если считать общее число тестов, то в Rust Coreutils обеспечено прохождение на 7 тестов больше, чем в прошлом выпуске.
  • Наиболее значительное повышение совместимости отмечено для утилит date, fmt, kill, ptx, numfmt и cksum. Менее значимые улучшения совместимости отмечены в утилитах cut, tac, tail, tr, uniq, od, chroot, stat, mktemp, pr, readlink, ln, kill, nproc, rm, env, sync, fmt, factor и wc.
  • Обеспечено сопровождение Rust-библиотеки num-prime, применяемой для тестирования в утилите factor.
  • Задействованы более быстрые реализации хэшей rustc-hash в ls, du, tsort, shuf, mv, и foldhash в sort.
  • Оптимизирована работа с ASCII-символами в утилитах unexpand и expand, позволившая на 14% ускорить работу при буферизированном чтении.
  • Оптимизированы операции выделения памяти в утилитах shuf, split, sort и du, что позволило ускорить du на 3–6%, а shuf на 4%.
  • Ускорено преобразование чисел в строки в утилите nl.
  • Сокращён размер исполняемых файлов и ускорен запуск утилит true и false.
  • В более 20 утилитах, включая echo, date, sort, expr, hostname, id, comm, pr и dircolors, решены проблемы с аварийным завершением при невозможности записи в stderr (перенаправлении в /dev/full).
  • В umask, mkdirat, mknod и других утилитах заменены небезопасные вызовы libc на защищённые обвязки из crate-пакета nix.
  • Обеспечена корректная работа опции "--preserve-root" в утилите "rm" при указании символических ссылок.
  • Улучшена поддержка платформ NetBSD, Windows и NixOS. Улучшена сборка для архитектуры PowerPC.
  • Расширены возможности, устранены проблемы и добавлены недостающие опции для утилит cat, cksum, chroot, comm, cp, csplit, cut, date, dd, df, dircolors, du, echo, env, expand, expr, factor, false, fmt, fold, hostname, id, install, kill, ln, ls, mktemp, mknod, mv, nl, nproc, numfmt, od, paste, pr, printfm, ptx, readlink, rm, shuf, sort, split, stat, stdbuf, stty, sync, tac, tail, test, tr, true, tsort, unexpand, uniq, uptime, vdir, wc, whoami.


  1. Главная ссылка к новости (https://github.com/uutils/core...)
  2. OpenNews: Выпуск набора утилит GNU Coreutils 9.10
  3. OpenNews: Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU Coreutils с 87% до 96%
  4. OpenNews: Из-за ошибки в uutils в Ubuntu 25.10 перестала работать автоматическая проверка наличия обновлений
  5. OpenNews: В Ubuntu 25.10 решено заменить GNU Coreutils на uutils, написанные на Rust
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64945-coreutils
Ключевые слова: coreutils, rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (19) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 08:56, 09/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как можно ускорить true и false?
     
     
  • 2.3, Аноним (3), 09:00, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +6 +/
    drop Vec for binary size and perf
    https://github.com/uutils/coreutils/commit/59aa4d7bbc3f1b8395f663d681a2be81917

    Improve perf & fix clippy::unnecessary_wraps -  improve performance by ×39
    https://github.com/uutils/coreutils/commit/3136627d5262b74a12e81b9ce6abfe9b441

    disable signals at simple utils for binary size and fast startup
    https://github.com/uutils/coreutils/commit/e6cd47e8ab684114bce21acd45cdc685371

     

  • 1.4, Аноним (4), 09:01, 09/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > Уровень совместимости с эталонным тестовым набором GNU Coreutils составил 94.59% (было 96.28%).

    Т.е., раньше просто врали?  Как совместимость может упасть?

     
     
  • 2.6, уп (?), 09:04, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Читай внимательнее и не беги сразу постить.
     
     
  • 3.9, Аноним (9), 09:30, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Просто раньше растерманы не тестировали свой gush. И текущий уровень не означает реальный, добавят тестов - и опять всё не сойдётся.
     
  • 2.7, iPony128052 (?), 09:05, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что такого?
    На что-то специально могут забить, если будет конфликтов ать с чем-то другим
     
     
  • 3.13, Аноним (13), 10:30, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не могут. Одна из целей проекта - получить на 100% аналогичное поведение coreutils, а все несоответствия считаются багами.
     
  • 2.8, Аноним (8), 09:05, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    "Снижение уровня совместимость объясняется обновлением тестового набора до состояния выпуска GNU Coreutils 9.10, в котором добавлено 19 новых тестов. Если считать общее число тестов, то в Rust Coreutils обеспечено прохождение на 7 тестов больше, чем в прошлом выпуске."
     
     
  • 3.10, Аноним (9), 09:32, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Может, надо привлечь ИИ, чтобы она точно переписала с Си на раст? Если квалификации рустерманов не хватает.
     

  • 1.5, Аноним (13), 09:03, 09/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Расширены возможности, устранены проблемы и добавлены недостающие опции для утилит

    Погодите, то есть, эти утилиты до сих пор не обладали всеми опциями? Как вообще система работала?

    >В более 20 утилитах, включая echo, date, sort, expr, hostname, id, comm, pr и dircolors, решены проблемы с аварийным завершением при невозможности записи в stderr (перенаправлении в /dev/full).

    А, вот как работала...

     
     
  • 2.14, Аноним (14), 11:23, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Есть, например, BSD utils и Busybox. Они не на 100% совместимы с GNU, но системы на их основе как-то работают. Так и тут.
     
  • 2.15, Аноним (15), 11:57, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Как вообще система работала?

    https://www.opennet.dev/opennews/art.shtml?num=64108

     
  • 2.16, Аноним (16), 12:03, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Погодите, то есть, эти утилиты до сих пор не обладали всеми опциями?

    Вот так и работало. Внезапно не все опции нужны.
    Какие-то депрекейтнутые, какие-то используются неверноятно редко.
    Часть утилит - это вообще безумные фантазции гнутиков и больше вообще нигде не используются.

     

  • 1.12, Фонтимос (?), 10:15, 09/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что-то никак date не допилят. Специально что-ли, чтобы было за что их хейтить. Или date оказался не под силу? Не понимаю.
     
     
  • 2.21, anonymmmeer (?), 12:37, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    клод код впадает в бесконечный цикл, а тесты так и не проходят.
    И угрожать пробовали и просить, чтобы ошибок не делал, всё никак не работает
     

  • 1.17, Аноним (16), 12:10, 09/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > решены проблемы с аварийным завершением при невозможности
    > записи в stderr (перенаправлении в /dev/full).

    Мда... Какие же фиговые оказались тесты у гнутья.
    Это столько проблем находится при прохождении тестов близким к 100%.
    Очередной пример как диды клали болт на тестирование.

     
     
  • 2.18, Аноним (13), 12:19, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нейросеть, новость про uutils.
     

  • 1.19, eugener (ok), 12:24, 09/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что за прикол делать лицензию пермиссивной? Это же выгодно только корпорациям, которые не хотят делиться изменениями. Наблюдаю это странное поветрие у зумеров/растеров.

    Если так хочется пермиссивку — так делайте уже под public domain, чего мелочиться?

     
     
  • 2.20, Аноним (13), 12:34, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Справедливости ради, public domain везде по-разному может трактоваться.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру