Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

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

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

06.08.2026 07:02 (MSK)

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

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

  • Уровень совместимости с эталонным набором тестов GNU Coreutils составил 93.48% (было 90.58%). Успешно выполнено 645 тестов, что на 20 больше, чем в прошлой версии (625). 29 тестов завершилось неудачей (было 56), один тест привёл к ошибке, а 15 тестов было пропущено (было 8).
  • Устранены отдельные расхождения с GNU Coreutils в поведении утилит pr, nproc, date, numfmt, ls, du, install, od, truncate, fold, head/tail, sum и stat.
  • Продолжена работа по усилению безопасности для предотвращения появления уязвимостей, вызванных состоянием гонки, позволяющим изменить данные в момент после проверки корректности информации, но до выполнения операции с ними, например, подменить файл на символическую ссылку в момент между завершением проверки и началом выполнения операции. В контексте использования утилит cp, chmod и mv в системных скриптах, запускаемых с правами root, подобные уязвимости позволяют скопировать или перезаписать произвольные файлы. Усилена защита утилит touch, mkfifo, mkdir, mknod, mv, chroot, head, split и chcon.
  • Проведена работа по устранению аварийных завершений через механизм panic в утилитах shuf, printf, numfmt, fmt, pr, chroot, dircolors, install, ln, touch, stat, split, expand, more, kill, cp, du, rm, runcon, sort, chown/chgrp, dirname, expr, cksum, dd, truncate, hashsum.
  • Выполнена оптимизация производительности утилит cksum, sum, split, expand/unexpand, base*, tee, cat, cp, mv, expr, uniq, du.
  • Добавлена поддержка сборочной цели wasm32-wasip2.
  • В утилите mv реализована опция "--exchange" для замены местами двух файлов или каталогов.
  • В утилиту install добавлена опция "--reflink" и обеспечена возможность совместного использования опций "-C" и "--preserve-timestamps".
  • В утилиту rm добавлена опция "--one-file-system".
  • В утилите cut предоставлена возможность работы с многобайтовыми кодировками при использовании не UTF-8 локалей.
  • Для быстрого вычисления контрольных сумм задействован бэкенд OpenSSL.


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


Обсуждение (27) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Stanislavvv (ok), 08:13, 06/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Почему-то вспоминается проект Perl Power Tools. Там, правда, не идеологии ради ("всё на раст!!!!111одинодин"), а фана для ("потому что можем!").
     
     
  • 2.2, Аноним (2), 08:52, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И такой же бесполезный.
     
     
  • 3.8, Stanislavvv (ok), 09:02, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ppt и не собирался быть полезным так-то :-)
     
  • 2.12, Жироватт (ok), 09:11, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну, если мне не изменяет память, то оно реально использовалось и изучалось
     
     
  • 3.14, Stanislavvv (ok), 09:17, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну, если мне не изменяет память, то оно реально использовалось и изучалось

    Ну хз насчёт реального использования. Вот что был список того, что надо реализовать — помню. А чтоб это всё заменяло что-то реальное...
    Про изучение вопросов нет — энтузиастов дохрена что тогда, что сейчас.

     
     
  • 4.16, Жироватт (ok), 09:23, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Пакет в CPAN я лично видел, даже использование в реальной перловке, но там был вызов из разряда "я за***ся писать кучу проверок на стоит ли, той ли версии и вообще, ради вызова примитивщины, потому вот тебе"
     
     
  • 5.17, Stanislavvv (ok), 09:27, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Наличие пакета в cpan означает только возможность его установки из cpan.
    Я этот пакет ставил в нулевых — таки ни одного файла в $PATH что в линуксе, что во фре. Нет, можно, конечно, симлинков понаставить, но это для энтузиастов всё ж, а не для реальной замены.
     

  • 1.3, Аноним (2), 08:52, 06/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Они даже с нейросетями не могут сделать совместимость с эталоном. Это какой-то харасмент раста.
     
     
  • 2.21, Аноним10084 и 1008465039 (?), 09:48, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Coreutils к POSIX прибиты гвоздями, а тут - кроссплатформенность требуется
     
     
  • 3.26, ProfessorNavigator (ok), 11:31, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    POSIX - это и есть стандарты для обеспечения кроссплатформенности. Передайте там тем, кто вам методички составляет. Впрочем, всё равно безнадёжно. Горбатого могила исправит.
     

  • 1.4, Тот_Самый_Анонимус_ (?), 08:53, 06/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >Устранены отдельные расхождения с GNU Coreutils

    Вот это всегда удивляет. Это как РеактОС пытается возпроизвести баги винды?

     
     
  • 2.5, Аноним (2), 08:59, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Фичи
     
  • 2.9, Жироватт (ok), 09:02, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ты будешь смеяться, но даже венда воспроизводит в эмуляции своих API для более новых систем ( WOW64 / etc ) баги. Даже термин есть такой: "реализация баг-в-баг"
     

  • 1.6, Жироватт (ok), 09:00, 06/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    На чем сейчас падает при попытке использовать вместо нормальных?
     
  • 1.7, Аноним (7), 09:01, 06/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как долго делают эту подделку? Почему они до сих пор не смогли написать код проходящий все тесты (с условием, что тестов очень мало)? Видать еще несколько лет будут в районе 90% сидеть и делать вид, что все нормально. Майкрософт уже свой форк uutils сделали, раз эти сделать нормальные утилиты не могут.
     
     
  • 2.10, Аноним (2), 09:04, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Возможно потому что их цель EEE?
     
  • 2.11, Жироватт (ok), 09:09, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ты неправильно априорно формулируешь цель создания этого пакета: ты думаешь, что он сделан как альтернативный корутилс и кто-то будет его использовать, а это подразумевает воссоздание фич и стабилизацию пакета.
    Но это неверно.
    Цель создания подобного "переписывательного" софта - в самом процессе переписывания с рекламой одного ржавого ЯП. И в информационном шуме вокруг этого: от оплаченного внедрения в убунту (с предсказуемым эпичным отказом) до постоянного упоминания "А кстати, я вега...тьфу, у меня уутилс и это безопасТно".
    Как будто ты маленький, ну. В современном посмодерновом мире важен не результат (как у порицаемых тут анонимами-на-зарплате aka "мясной бот в комментариях" т.н. "дедов"), а хайп и информационная составляющая. Пока ты в новостях - ты жив. Пока ты бампаешь версию - ты жив.
     
     
  • 3.15, aname (ok), 09:21, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вот кстати да, заметил, что пока версия бампается- это считается живым.
     
  • 2.20, Аноним (20), 09:40, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что coreutils не написали за один день с нуля, а они долго эволюционировали. «Нельзя просто так взять и написать coreutils” А теперь ещё выяснилось, что и переписать тоже нельзя…
     

  • 1.13, aname (ok), 09:16, 06/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > среди прочего способной работать на платформах Windows, Redox и Fuchsia

    Зачем?

     
  • 1.18, Аноним (20), 09:33, 06/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Херабра какая-то… Есть человеческие coreutils, нафиг этот велосипед с восьмиугольными колёсами…
     
     
  • 2.19, Аноним (19), 09:39, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это безопасный велосипед с вспомогательными колесами на всех четырёх колесах.
     
  • 2.27, ProfessorNavigator (ok), 11:33, 06/08/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > нафиг этот велосипед с восьмиугольными колёсами…

    Ладно бы ещё с восьмиугольными колёсами - оно хоть как-то ездить может. А тут - с треугольными, отлитыми из чугуна.

     

  • 1.22, xsignal (ok), 10:14, 06/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Уровень совместимости с эталонным набором тестов GNU Coreutils составил...

    Это, кстати, ни о чём не говорит - чисто под тесты подогнали. Успешное прохождение тестов - это необходимое условие для корректной работы программы, но далеко не достаточное...

     
  • 1.25, Аноним1234 (?), 11:28, 06/08/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Для быстрого вычисления контрольных сумм задействован бэкенд OpenSSL.

    Всё хорошо, только OpenSSL на C. Вот бы у кого-то хватило сил переписать его на Rust.

     

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



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

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