The OpenNET Project / Index page

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

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

07.04.2026 18:17 (MSK)

Опубликован выпуск проекта uutils coreutils 0.8.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.74% (было 94.59%). Успешно выполнено 630 тестов, что на 1 больше, чем в прошлой версии (629). 21 тест завершился неудачей (было 23), а 14 тестов было пропущено (было 13).
  • В утилитах cat, df, wc, tty, tsort, tail, touch, date, mkdir и uucore вместо crate-пакета nix задействован rustix. Сокращён объём unsafe-кода в утилитах hostname, logname, who и nice.
  • Проведены оптимизации производительности утилит dd (+45%), ls, sort, wc, cat, tee, numfmt (+3%) и pr. Сокращён размер исполняемых файлов true, false и echo.
  • В более 70 утилит, включая ls, head, cat, cp, mv, sort и tail, добавлена поддержка сборки в формате WebAssembly и использования интерфейса WASI (WebAssembly System Interface). Подготовлен демонстрационный online-сервис с интерактивным терминалом, в котором можно запускать утилиты uutils.
  • Расширены возможности, устранены проблемы и добавлены недостающие опции для утилит cat, chown, cksum, cp, cut, date, dd, df, env, expand, expr, factor, head, install, ln, ls, mkdir, nice, numfmt, od, pr, sort, split, stdbuf, stty, sync, tee, timeout, touch, tr, true, tsort, tty, wc, yes.


  1. Главная ссылка к новости (https://github.com/uutils/core...)
  2. OpenNews: Выпуск набора утилит GNU Coreutils 9.10
  3. OpenNews: Из-за ошибки в uutils в Ubuntu 25.10 перестала работать автоматическая проверка наличия обновлений
  4. OpenNews: Выпуск uutils 0.7, варианта GNU Coreutils на языке Rust
  5. OpenNews: Уязвимости в snapd и Rust Сoreutils, позволяющие получить root-привилегии в Ubuntu
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65162-uutils
Ключевые слова: uutils, rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (66) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 18:24, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    что значит u в uutils?
     
     
  • 2.12, Анонимм (??), 18:40, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –12 +/
    > ubiquitous utilities

    Оно более кроссплатфоренное в отличии от ГНУ.
    На новом модном языке.
    И не содержит ГНУ-рака.

    В общем - именно то, что нужно сообществу!

     
     
  • 3.22, Аноним (22), 18:53, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Оно более кроссплатфоренное в отличии от ГНУ.

    Да ну? На XP заведётся? А на haiku?

     
     
  • 4.30, Аноним (30), 19:16, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Во, вот тому сообществу оно и нужно.
     
  • 4.57, X512 (?), 01:53, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > А на haiku?

    Пока не пробовали, но было бы полезно портировать. Лицензия MIT больше подходит для проекта Haiku.

     
  • 3.28, Аноним (28), 19:14, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Для Свободного Сообщества сгодится только копилефт. А пермиссивщина как у сабжа радость для проприетарщиков.
     
     
  • 4.29, Аноним (29), 19:16, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Для Свободного Сообщества сгодится только копилефт.

    Я правильно тебя понял что для Свободного Сообщества нужны запретительные лицензии?
    Свобода - это рабство?))

    > А пермиссивщина как у сабжа радость для

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


     
     
  • 5.45, Аноним (45), 21:19, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Я правильно тебя понял...

    Очевидно - да, правильно, но делаешь вид, что нет.


     
  • 5.67, freehck (ok), 12:04, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Я правильно тебя понял что для Свободного Сообщества нужны запретительные лицензии?
    > Свобода - это рабство?))

    Вы удивитесь, но да. Чтобы сохранить свободу, её надо ограничить.
    Аристотель писал об этом в "Политике", а Монтескьё — в трактате "О духе законов".

     
     
  • 6.70, Аноним (70), 13:41, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы удивитесь, но да. Чтобы сохранить свободу, её надо ограничить.
    > Аристотель писал об этом в "Политике", а Монтескьё — в трактате "О духе законов".

    А ʼнасколько ограничитьʼ они писали?

    Если вам сегодня введут белые списки, завтра будут выдавать талончики на интернет, а послезастра назначат швабрирование по субботам...
    Это всё еще свобода или уже нет?
    Можно же придумать множество ограничений, например тюрьму за владение макбуками)

    Разрешительные лицензии не могут сделать код менее свободным.
    Можно перелицензировать дериватив.
    Но свободный код будет свободным пока сущестует хоть одна копия.

    А во запретительные сходу ограничевают то, что пользователю разрешено делать с кодом.
    Поэтому они не свободные.


     
     
  • 7.79, freehck (ok), 16:52, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >> Вы удивитесь, но да. Чтобы сохранить свободу, её надо ограничить.
    >> Аристотель писал об этом в "Политике", а Монтескьё — в трактате "О духе законов".
    > А ʼнасколько ограничитьʼ они писали?

    То есть мысль о том, что нужно сначала почитать собственно основы, чтобы своё ценное мнение иметь, Вам в голову таки не пришла?

     
  • 4.77, freehck (ok), 16:40, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Для Свободного Сообщества сгодится только копилефт.

    Да, но с уточнением, что одного только копилефта не достаточно.

    https://winestockwebdesign.com/Essays/Eternal_Mainframe.html

     
  • 3.32, Аноним (32), 19:24, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как оно на Android? Всё ещё больно?
     
  • 3.61, Sm0ke85 (ok), 08:02, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >Оно более кроссплатфоренное в отличии от ГНУ.

    ахахах, у тебя травма головы была видимо??? ГНУ портируются и портировались практически на все платформы, а вот твое ржавое поделие - буквально на одной платформе по написанному и то не может нормально работать....))))

     
     
     
    Часть нити удалена модератором

  • 5.75, Аноним (75), 15:18, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вы в каждом треде с упоминанием uutils это пишете? Очень похоже на то.
     
  • 3.80, анонимс (?), 17:20, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Rust копюмпилятор поддерживает ограниченное число платформ в отличие от C компиляторов. Поэтому Rust нет например в NetBSD.
     
  • 2.47, Tron is Whistling (?), 21:55, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    unnecessary
     
  • 2.52, Аноним (52), 23:42, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Значит μ - "микро".
     
     
  • 3.54, Аноним (54), 00:11, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    там явно не микро, засудите их за false advertising
     

  • 1.2, Аноним (2), 18:25, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Супер, останется только запретить писать новый код для ядра на С и полностью начинать заменять его растом.
     
     
  • 2.6, aname (ok), 18:31, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Покажи свои PR на этом направлении
     
     
  • 3.24, Аноним (2), 19:09, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так что уже запретили С комитить в ядро?

    P.S могу я взглянуть на твои PR на сишке в ядро?

     
  • 2.34, Аноним (34), 19:51, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Успешно выполнено 630 тестов, что на 1 больше, чем в прошлой версии

    Видится проблема, что за выпуск смогли сделать всего 1 (один) тест. Это намекает на то, что на языке сабжа очень сложно писать, даже если есть готовые тексты на другом языке. И похоже, что ИИ тут помочь не может, иначе бы так долго не переписывали готовые тексты с такого простого языка, как Си, на язык сабжа.

     
     
  • 3.81, анонимс (?), 17:22, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ИИ стохастический попугай🫢
     
  • 2.62, Sm0ke85 (ok), 08:06, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Супер, останется только запретить писать новый код для ядра на С и полностью начинать заменять его растом.

    Такое уже есть (кажись у гугла), и этим гуано никто пользоваться не захотел...

     

  • 1.3, aname (ok), 18:30, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > 21 тест завершился неудачей

    А зачем выпускают неликвид- полуфабрикат, если оно не работает нормально?

     
     
  • 2.7, пох. (?), 18:32, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +5 +/
    чувак, это вообще regression tests, они не про работу. У гну никогда не было compliance тестов (потому что они у позикса или еще кого-то такого)

     
     
  • 3.9, aname (ok), 18:33, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > они не про работу

    Сообщество™

     
  • 2.35, Аноним (34), 19:53, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > А зачем выпускают неликвид

    Ну это примерно как дробный масштаб в вейленде, вроде разрабатывался 18 лет, а оказалось, что не работает и требует сторонних экспериментальных расширений.

     
     
  • 3.69, Анонус (?), 13:16, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Очень жирный наброс, особенно от человека не умеющего читать
     

  • 1.5, пох. (?), 18:31, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > сборки в формате WebAssembly

    в принципе, вам там самое место. Не знаю зачем в браузере запускать хрустоутиль, но видимо кому-то надо.

    И еще вот бинго "windows, фикция и ресдох".

     
     
  • 2.16, Аноним (16), 18:46, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > И еще вот бинго "windows, фикция и ресдох".

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

    Вон coreutils поддерживают GNU/Hurd. И тут можно поспорить что более нинужна.


     
     
  • 3.26, пох. (?), 19:12, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Вон coreutils поддерживают GNU/Hurd. И тут можно поспорить что более нинужна.

    они ненарочно!
    (и вообще, на самом деле это он их поддерживает... ну ты ж хочешь какой-то /bin/ls пока у тебя вообще еле-еле дошло до "загружаетцо ядро но сеть работает только на ne2000 по четным числам високосного года")

     
  • 3.58, Аноним (58), 02:38, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Вон coreutils поддерживают GNU/Hurd

    Какие проблемы? И GNU/Hurd, и GNU/Linux поддерживают стандарт POSIX. А вот сабж пытаются делать для совсем несовместимых систем.

     

  • 1.11, Аноним (11), 18:38, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Даже все тесты не работают, а ведь ещё есть различия, которые не в тестах))

    Или кто-то думает прошли тесты == полная эквивалентность?

     
     
  • 2.13, НяшМяш (ok), 18:44, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Или кто-то думает прошли тесты == полная эквивалентность?

    В нормальных системах - да. Просто гнутики даже 100% ковёр не смогли сделать, а их эти почти 700 тестов на такое количество утилит просто ничего толком не проверяют. Даже у нас в шараге на одном только микросервисе 1300 юнит тестов, не считая отдельно интеграционных (их тестировщики пилят).

     
     
  • 3.17, Аноним (17), 18:46, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну блин, ты сравнил.
    В вашей шараге люди работают за деньги и заинтересованы, если не в результате, то хотя бы в том, чтобы работу не переделывать.

    А гнутые поделки писали непонятные васяны на отшибись.

     
     
  • 4.50, Аноним (50), 22:21, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > А гнутые поделки писали

    Вообще-то: переписывали 😀. Там до сих еще кое-где "The Regents of the University of California" попадаются ну или просто скромное "Original version by Paul Rubin <phr@ocf.berkeley.edu>."

     
  • 3.20, 12yoexpert (ok), 18:49, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    100% далеко не всегда можно сделать
     
  • 3.36, Аноним (34), 19:54, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В нормальных системах - да.

    Но здесь же раст.

     
  • 3.40, Сладкая булочка (?), 20:44, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Просто гнутики даже 100% ковёр не смогли сделать, а их эти почти 700 тестов на такое количество утилит просто ничего толком не проверяют.

    И пруфы ты, конечно же, готов предоставить?

     
  • 3.41, Сладкая булочка (?), 20:46, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Даже у нас в шараге на одном только микросервисе 1300 юнит тестов, не считая отдельно интеграционных (их тестировщики пилят

    Ну код открой, а мы посмотрим. Ты же смотришь код coreutils и что-то пытаешься даже оценить. А мог и помочь с тестами. Ведь пользуешься.

     
  • 3.64, freehck (ok), 11:44, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >> Или кто-то думает прошли тесты == полная эквивалентность?
    > В нормальных системах - да. Просто гнутики даже 100% ковёр не смогли сделать

    Даже при 100%-ом кавере есть ещё граничные случаи входных данных, которые не всегда возможно учесть. Юнит-тесты нужны прежде всего для раннего детектирования регрессов в процессе разработки, а вовсе не для того, чтобы кто-то мог прийти и переписать твой софт на другом языке и получить эквивалентный результат.

     
     
  • 4.76, anonymmmeer (?), 16:13, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну зачем ты людей расстраиваешь? они же веруют, что если сказал клод коду переписать и тесты прошли, то это эквивалент.

    100% function cover != 100% на всех данных

    а вообще написание с помощью одной программой эквивалента другой программы - неразрешимая задача, невозможно для Тьюринг машины (а других компьютеров у нас нет и LLM это тоже Тьюринг машина, хоть в агентном режиме, хоть в каком).

     
  • 2.14, Анонимм (??), 18:44, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Или кто-то думает прошли тесты == полная эквивалентность?

    Те кто такое думають, даже не заглядывали в гитхаб)

    Я тут оставлю ссылку
    pixelbeat.org/docs/coreutils-testing.html

     
     
  • 3.65, freehck (ok), 11:50, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Я тут оставлю ссылку
    > pixelbeat.org/docs/coreutils-testing.html

    А неплохой такой coverage у coreutils.




    lines......: 81.3% (42913 of 52795 lines)
    functions..: 89.2% (2293 of 2571 functions)



     
  • 2.43, Сладкая булочка (?), 20:47, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Или кто-то думает прошли тесты == полная эквивалентность?

    Там еще между версиями раста будет несовместимость поди. Стандарта же нет.

     
     
  • 3.53, нах. (?), 00:06, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ну не скомпилируется - так безопастно же ж!

    (нет кода - нет опастносте!)

     
  • 3.63, уп (?), 10:06, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Мне не нравится раст, но вот это -- откровенное враньё.

    https://doc.rust-lang.org/edition-guide/rust-2024/index.html

     
     
  • 4.72, Аноним (72), 14:31, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ты дал ссылку на стандарт, я так понимаю?
     
     
  • 5.73, Аноним (73), 14:47, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ты дал ссылку на стандарт, я так понимаю?

    Тебе дали ссылку на RFC.
    Что является вариантом стандарта и достаточным, например для работы такой мелочи как интернет.

     
     
  • 6.78, Сладкая булочка (?), 16:40, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >> Ты дал ссылку на стандарт, я так понимаю?
    > Тебе дали ссылку на RFC.

    А теперь открываем https://rust-lang.github.io/rfcs/3355-rust-spec.html#current-state и читаем

    Languages like C and C++ are standardized. Rust is not. Standardization comes down to, basically:

        Having an accurate specification (a document)
        An (open) process for evolution of the language
        Stability

    Rust currently already has 2 and 3, but not 1.

    For 1, we currently have: the (incomplete) Rust Reference, the Standard Library Reference Documentation, the Rust Nomicon, the Unsafe Code Guidelines Project, Miri, the collection of accepted RFCs, the Ferrocene Language Specification, lots of context and decisions spread over tons of GitHub issues, MiniRust, the source code, and more.

    These are currently all incomplete, and/or not a good source to rely on.

    Вопросы?

     
     
  • 7.85, Аноним83 (?), 19:30, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Осталось дождатся от раста скамеров:
    - раст фипс
    - раст исо
    - раст гост
     

  • 1.15, Аноним (15), 18:45, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    главное не забыть что старые иксы не модно, системд база, но Rust при этом плохо. не убирайте ничего лишнего
     
     
  • 2.18, Аноним (17), 18:48, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы абсолютно правы!
    "Старые иксы" - не модно
    "Системд" - база (вообще-то системный менеджер, но его можно считать базой для многих дистрибутивов),

    "но Rust при этом" - отлично! Многие известные фирмы использую раст в своих программах.

     
     
  • 3.56, Аноним (56), 00:37, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    "но Rust при этом" - стильно, модно, молодёжно!
     
  • 3.59, Аноним (58), 02:43, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >Многие известные фирмы использую раст в своих программах.

    Только вакансий на нем почему-то нет...

     
     
  • 4.66, freehck (ok), 11:51, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>Многие известные фирмы использую раст в своих программах.
    > Только вакансий на нем почему-то нет...

    Вероятно потому, что Rust является мощным инструментом только в руках опытного старичка-сишника. )

     
  • 3.84, Аноним83 (?), 19:27, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А ещё больше фирм его не используют.
     

  • 1.46, Аноним (46), 21:21, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Сколько еще заглушек для гарантированного прохождения тестов вне зависимости от фактической работоспособности добавили для "увеличения" совместимости с GNU?
     
  • 1.48, Аноним (34), 21:57, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > добавлены недостающие опции

    Ого, ещё не все тесты пройдены существующих возможностей, а они уже ломают новыми. Не, так вы никогда не напишите на 100% совместимые утилиты.

     
     
  • 2.51, Аноним (51), 22:29, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Так на расте невозможно повторить все дырки и эксплойты Сишечки...
     
     
  • 3.55, Аноним (56), 00:36, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так на Расте и функциональность не повторить. Не успеть повторить из-за частого выхода новых "стандартов" Раста.
     

  • 1.60, Аноним (60), 07:24, 08/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вчера не смог расшифровать ecryptfs как раз из-за этого паршивого поделия. Вернул gnu - и всё заработало.  
     
     
  • 2.82, анонимс (?), 17:24, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В Ubuntu и других Debian дистрибутивах есть возможность запретить установку пакетов включая это поделие uutils
     
  • 2.83, анондирован (?), 17:27, 08/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    запрет на установку поделия aka uutils

    /etc/apt/preferences.d/uutils
    Package: coreutils-from-uutils
    Pin: release a=*
    Pin-Priority: -10

     

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



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

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