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 обязательно


Обсуждение (38) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 08:56, 09/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    как можно ускорить true и false?
     
     
  • 2.3, Аноним (3), 09:00, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +11 +/
    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

     
  • 2.39, Дед банан (?), 18:30, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чтобы что-то сильно убыстрить, нужно сначала что-то сильно замедлить, как вариант переписав это на очередном нескучном язычке. Создать низкую базу, так сказать, от которой можно взлетать свечкой. Есть, конечно, и исключения, но они лишь подтверждают правило.
     

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

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

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

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

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

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

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

     
     
  • 2.14, Аноним (14), 11:23, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть, например, 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 [^] [^^] [^^^] [ответить]  
  • +/
    > Погодите, то есть, эти утилиты до сих пор не обладали всеми опциями?

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

     
     
  • 3.29, Аноним (29), 13:49, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Часть утилит - это вообще безумные фантазции гнутиков

    Кстати, да, многие не замечают слона в комнате.

    Ну вот например.

    * factor
    * unexpand
    * sum
    * ptx
    * pinky (!!!)

    Короче, дедофантазии времен терминалов, ed и миникса.

     

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

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

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

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

    "Дядя Петя, ты дурак?" (с)

    uutils проходят 94-96% тестов coreutils. При этом проблемы все еще находятся.
    О чем это говорит? Что тесты не покрывают все кейсы! Причем огромное количество.
    Это собственно и показывает, что тесты coreutils омно.

     
     
  • 4.27, Аноним (13), 13:24, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >uutils проходят 94-96% тестов coreutils. >При этом проблемы все еще находятся.
    >О чем это говорит?

    Это говорит лишь о том, что прохождение тестов не означает аналогичное поведение. Об этом под каждой новостью про uutils говорят, но у тебя слишком маленький контекст, чтобы это помнить.

     
     
  • 5.32, Аноним (-), 14:00, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Это говорит лишь о том, что прохождение тестов не означает аналогичное поведение

    А еще чуть-чуть подумать ты не осилил?
    Что значит что "прохождение тестов не означает аналогичное поведение"?
    Только то, что тесты не покрывают это поведение, покрытие и качество тестов у coreutils омно.

     
  • 5.45, Аноним (45), 20:17, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если тесты являются спецификацией, то падение гнутых утилит является нормальным и ожидаемым поведением.

    Если тесты не являются спецификацией, то это плохие тесты.

     

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

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

     
     
  • 2.20, Аноним (13), 12:34, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Справедливости ради, public domain везде по-разному может трактоваться.
     
  • 2.22, Аноним (22), 12:39, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Что за прикол делать лицензию пермиссивной?

    Превращать запретительную лицензию в разрешительную?
    Вы реально не понимаете зачем делать код более свободным?

    > Это же выгодно только корпорациям, которые не хотят делиться изменениями.

    Вранье. Это выгодно любому разработчику, который не хочет клянчить донаты и/или стоять с протянутой рукой.
    Не всем отваливают гранты на сотни тысяч баксов, просто за танцы в цуррисьюте антилопы или защиту ыпштейнов.

    > Наблюдаю это странное поветрие у зумеров/растеров.

    Возможно их мозги не заражены коммунистическим гнураком))

    > так делайте уже под public domain, чего мелочиться?

    Ну так делайте)
    Кто ж вам запрещает.

     
     
  • 3.25, Джон Титор (ok), 13:09, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Возможно их мозги не заражены коммунистическим гнураком))

    Причём тут коммунизм? GNU это вполне капиталистическое НКО. А коммунисты много чего достигли много чего хорошего. Хотя я конечно понимаю что ваша боль может быть вызвана событиями которое развалило Российскую Империю. Это и правда зря - большая была страна.

     
     
  • 4.34, Аноним (-), 14:09, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Причём тут коммунизм? GNU это вполне капиталистическое НКО.

    Хм.. дай подумать.
    Возможно потому что основа GNU это Манифест?
    С классные идеи типа "давайте запретим огранизации которые платят много", "давайте зарплата будет определяться головосованием плебса и распределять через гос.министерство", "давайте наказывать за написание проприетари".

    > А коммунисты много чего достигли много чего хорошего.

    Например что?
    Чего добились комми, чего не смогли добиться страны с другими общественными строями?

    > Хотя я конечно понимаю

    Сомнительно)
    > что ваша боль может быть вызвана событиями которое развалило Российскую Империю.

    Это ваша фантазия, ну или просто проекция.

    > Это и правда зря - большая была страна.

    Тюрьма народов?
    "... Их должно резать или стричь. Наследство их из рода в роды Ярмо с гремушками да бич."
    Но коммунизм выдумали немцы. Правда им хватило ума не пробовать)

     
  • 2.24, Аноним (24), 13:09, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Это же выгодно только корпорациям, которые не хотят делиться изменениями. Наблюдаю это странное поветрие у зумеров/растеров.

    А ты думаешь на чьи деньги идет переписывание?
    Думаешь зумероы/растеры оторвались бы от кальянов бесплатно переписывать? Они и за деньги то не разбежались :)

     
  • 2.31, Аноним (29), 13:52, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так и MIT не то, чтоб много требует: «делай что хочешь, никаких претензий к авторам, цепляй лицензию к копии софта.»
     
  • 2.44, Аноним (44), 19:43, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Думается мне, это юношеские максимализм. Потом, через 10-20 лет они начинают задавать вопросы: "почему я бесплатно пашу столько лет, а злые корпорации мне ничегошеньки не платят?" Вот тогда-то и вспомнят дедушку Столлмана.
     
     
  • 3.46, Аноним (-), 20:39, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > "почему я бесплатно пашу столько лет, а злые корпорации мне ничегошеньки не платят?"

    Так немамонты пашут бесплатно как раз со времен Столлмана)))

    Но внезапно оказалось что открытого кода недостаточно, а корпы с легкостью могут набивать в кодовую базу то, что нужно только им. Можно менять архитектуру, ломать совместимость и другими способами портить жизнь "сообществу".

    И при этом практическе не давать аффтару никак заработать, потому что код открыть он обязан, а на поддержке даже на хлеб фиг заработаешь.

     

  • 1.40, scriptkiddis (?), 18:43, 09/03/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем этот проект нужен?
     
     
  • 2.42, Аноним (43), 19:40, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чтобы заменить GNU coreutils во всех мейнстримных коммерческих дистрибутивах Линукса.
     
     
  • 3.47, scriptkiddis (?), 21:56, 09/03/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем?
     

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



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

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