The OpenNET Project / Index page

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

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

19.01.2025 09:22

Опубликован выпуск проекта uutils coreutils 0.0.29, развивающего аналог пакета GNU Coreutils, написанный на языке Rust. В состав coreutils входит более ста утилит, включая sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. Целью проекта является создание кроссплатформенной альтернативной реализации Coreutils, способной работать в том числе на платформах Windows, Redox и Fuchsia. В отличие от GNU Coreutils реализация на Rust распространяется под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL. Дополнительно той же командой разработчиков развиваются написанные на Rust аналоги наборов утилит util-linux, diffutils, findutils и bsdutils.

В новой версии uutils:

  • Учтены изменения в выпуске GNU Coreutils 9.6.
  • Улучшена совместимость с эталонным тестовым набором GNU Coreutils, при прохождении которого успешно выполнено 506 теста (в прошлой версии 476), 67 (94) тестов завершилось неудачей, а 41 (43) тест был пропущен.
  • Обеспечена полная совместимость с GNU Coreutils для утилит df, dircolors, chmod, chroot, comm, seq, split, uniq и more.
  • Проведена оптимизация производительности утилит du, echo и seq.
  • Расширены возможности, улучшена совместимость и добавлены недостающие опции для утилит basenc, base32, base64, checksum, chmod, chroot, comm, cp, csplit, cut, date, dd, df, dircolors, du, echo, env, fmt, head, install, kill, ls, mkfifo, more, mv, numfmt, printf, rm, seq, sort, split, stat. tail, tr, tsort, uniq, wc и uucore.


  1. Главная ссылка к новости (https://github.com/uutils/core...)
  2. OpenNews: Выпуск набора утилит GNU Coreutils 9.6
  3. OpenNews: Адаптация Debian для использования реализации coreutils на языке Rust
  4. OpenNews: Выпуск набора утилит GNU Coreutils 9.5 и его варианта на языке Rust
  5. OpenNews: Эксперимент по переводу Gentoo на использование варианта Coreutils на языке Rust
  6. OpenNews: Выпуск набора утилит GNU findutils 4.10.0 с возобновлением поддержки Си-библиотеки Musl
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62584-coreutils
Ключевые слова: coreutils, uutils
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (67) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:33, 19/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Зачем переписывать то, что и так работает? Почему бы не написать что-нибудь ещё не написанное, например драйвера для устройств, используя новый интерфейс Линукс-ядра?

    Или допилить поддержку CMYK в gimp?
    Или всякие нейросеточки потренировать для семантического поиска и тому подобного? Или хоть wayland до feature parity с Х11 доделать?

     
     
  • 2.2, Витюшка (?), 09:35, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Ты им хочешь заплатить? Или ты хочешь забесплатно поуказывать кому что делать и что разрабатывать в чужой компании или даже в личное свободное время?
     
     
  • 3.5, Аноним (5), 09:59, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ты что от него хочешь? Хочешь чтобы он не высказал своего мнения? Тогда зачем вы высказываете ваше мнение.
     
     
  • 4.13, bonifatium (?), 10:52, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ты зачем свой коммент написал? он поэтому же.
     
     
  • 5.24, Аноним (24), 12:21, 19/01/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.38, Аноним (-), 13:30, 19/01/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.40, Аноним (40), 13:33, 19/01/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.3, Витюшка (?), 09:38, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А смысл есть, потому что в отличии от bash портянок есть ещё проект nushell - и скорее всего он использует эту имплементацию как основу своих утилит cd, ls и т.п.
     
     
  • 3.11, Аноним (11), 10:30, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Увы, не похоже
    https://github.com/nushell/nushell/tree/main/crates/nu-command/src/filesystem
     
  • 3.45, Аноним (45), 13:45, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > проект nushell - и скорее всего он использует эту имплементацию как основу своих утилит cd, ls и т.п

    1. “cd” не может быть утилитой, поскольку понятие «текущая директория» принадлежит текущему же процессу (шеллу). То есть только он сам может себе изменить ТД, другая программа ему изменить не может.

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

     
     
  • 4.53, чатжпт (?), 14:57, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    как это не может быть утилитой, когда я использую zoxide (на rust кстати написан) вместо cd
     
     
  • 5.62, Аноним (45), 16:24, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Zoxide не меняет текущую директорию. Её меняет твой шелл. Шелл может всего лишь проконсультироваться с другой программой вроде zoxide о том, какой должна быть новая директория. Грубо говоря это тоже самое, как

        cd $(/bin/echo /some/path)

    При этом «cd» - это встроенная в бэш команда, а не внешняя. Потому что внешняя запустилась бы в новом процессе, а один процесс не может поменять текущую директорию в другом, уже запущеннос процессе.

     
     
  • 6.68, чатжпт (?), 16:57, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    это понятно, что "текущая директория" - это внутреннее состояние оболочки, но устанавливаться оно может и сторонними утилитами
     
  • 2.8, НяшМяш (ok), 10:11, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Вот не знает человек ни GIMP, ни что такое CMYK, а от X11 и вяленого у него волосы на заднице дыбом встают - что делать? А так люди, никому не мешая, тренируются писать на новом языке утилиты, поведение которых всем известно, да ещё и есть готовый тестовый набор. Только кексперты-онанимы лезут не зная куда, пытаясь реализовать не знаю что.
     
     
  • 3.25, Аноним (24), 12:22, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Почему бы им для обучения не выбрать какой-нибудь нормальный язык?
     
     
  • 4.35, Аноним (35), 13:24, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Раст нормальный. То, что лично тебе он показался слишком сложным в сравнении с питоном, это твои проблемы.
     
     
  • 5.50, Аноним (24), 14:14, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Борьба с боровом вместо написания программы это ненормально.
     
     
  • 6.52, чатжпт (?), 14:25, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Типичный тяп-ляп сишнек. В зависимостях либы протухли 5 лет назад, но компилируется - в продакшон. Выходы за границы буфера?! Ну потом как-нибудь поправим когда CVEшки повылазят.
     
  • 6.54, Анонимусс (-), 15:02, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Борьба с боровом вместо написания программы это ненормально.

    А зачем с ним бороться? Он же помогает , а не мешает.
    Борьба возникает у всяких 6ыdloкодеров, которые привыкли куда угодно писать, откуда угодно читать, не заботясь ни о чем, а потом х-к, х-к и в продакшен.
    Правда потом в продакшене будет пара CVE))

     
  • 3.39, Аноним (-), 13:32, 19/01/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.12, Аноним (12), 10:44, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Зачем переписывать то, что и так работает?

    Тут лицензия МИТ, а не гнутовская несвободная.

     
     
  • 3.36, Аноним (-), 13:24, 19/01/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.42, Аноним (40), 13:35, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Покусанный GNU в треде.
     
  • 2.18, Аноним (-), 11:28, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Или допилить поддержку CMYK в gimp?

    М... зачем? Особенно если ты им не пользуешься и не собираешься.
    Как раз лучше что можно сделать с gimp - закопать и переписать с нуля на чем угодно, только не так как оригинал.

    > Или всякие нейросеточки потренировать для семантического поиска и тому подобного?

    Для этого нужна соответствующая видяха. А она денег стоит.

    > Или хоть wayland до feature parity с Х11 доделать?

    Вот только не нужно пихать все Х11е омно в новый протокол!
    wayland именно по этой причине так назвали, а не Х12 - чтобы не тянуть все дремучее легаси.
    А всякие прдлики пусть продолжают сидеть на иксах.

     
  • 2.28, Аноним (28), 12:28, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Зачем переписывать то, что и так работает?

    затем, что сейчас оно собирается и работает само по себе, а на расте сборка будет зависеть от доступа к crates.io;
    и от его содержимого;

     
     
  • 3.31, чатжпт (?), 13:07, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Может зависеть, а может и нет. Документацию достаточно почитать

    из своего реестра:
    [dependencies]
    some-crate = { version = "1.0", registry = "My-Registry" }

    из git-репы:
    [dependencies]
    avian3d = {git="https://github.com/Jondolf/avian.git", rev="2540add"}

    локально:
    [dependencies]
    some_crate = { path = "../path_to_some_crate" }

     
  • 2.30, Аноним (30), 12:51, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Зачем переписывать то, что и так работает? Почему бы не написать что-нибудь

    Т.е. ты пользуешься оригинальными cat/cp/dd/ls/итд, а не сабжем? 😲

     
  • 2.65, laindono (ok), 16:48, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем переписывать то, что и так работает?

    Для уменьшения технического долга. Чем старше становится код, тем сложнее его поддерживать и развивать. По целому ряду причин. В какой-то момент вносить новые фичи становится настолько сложно, что написать тоже самое с нуля проще.

     

  • 1.7, Аноним (7), 10:08, 19/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А забавно получается, всё как в далеком прошлом когда gnu переписывали unix: Сейчас system76 пилят DE, другие пилят всякие utils, - остается чтобы кто-то взялся за само ядро, - хотя наверное проще будет написать новое! Хотя, учитывая что system76 также продает железо, а также имеет отношение к Redox, то возможно у них есть какие-то интересные далекоидущие планы, - так что посмотрим к чему всё в итоге придёт!
     
     
  • 2.26, Аноним (24), 12:23, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пусть эти переписыватели для начало servo напишут.
     

  • 1.10, Аноним (10), 10:21, 19/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Хотят переписывать пусть переписывают. Если я правлильно понимаю, ядро Linux и GNU утилиты изначально сишные и децентрализованные. Rust предлагает централизованную инфраструктуру без всяких тарболов, чтоб можно было одним рубильником отрубить всё и сразу.
     
     
  • 2.15, Вася Пупкин (?), 11:16, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >централизованную инфраструктуру

    то опция по умолчанию. все так же будет работать если указывать кастомные репозитории/реджистри в манифестах

     
     
  • 3.22, Аноним (-), 11:38, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >  все так же будет работать если указывать кастомные репозитории/реджистри в манифестах

    Чтобы это знать - нужно доку читать.
    А зачем читать доку, если хочешь тупо хейтить.

     
  • 2.27, Аноним (24), 12:23, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Только чего то все не выходит каменный цветок.
     
  • 2.41, Аноним (-), 13:34, 19/01/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.14, xsignal (ok), 10:59, 19/01/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     

     ....ответы скрыты (4)

  • 1.17, Аноним (-), 11:23, 19/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Для Анонов и не только, задающихся вопросом "А зачем? Оно же работало?!"

    Так вот затем, чтобы такой фигни не было:
    - www.opennet.ru/opennews/art.shtml?num=60490
    "Уязвимость в утилите GNU split, приводящая к переполнению буфера"

    - www.opennet.ru/opennews/art.shtml?num=42235
    "Уязвимость в утилите GNU sort"

    А есть еще одна CVE-2015-4042 - тоже sort.c и Integer overflow.
    Профессиональные "настоящие программеры" тапляпнули уязвимость на 9.8.

    Ну и второй момент - не каждый хочет использовать коммунитсическое ГНУ, если есть альтернативы.

     
     
  • 2.29, анонимище (?), 12:41, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    GNU коммунистическое? Вы это ещё настоящей коммунистической лицензии не видели.
    Рецепт приготовления труЪ коммунистической лицензии:

    1.Берем AGPL 3

    2.Берем пункт с https://commonsclause.com/

    3.Тщательно перемешиваем ...

    4. ????

    5.NO PROFIT!

    Плеваться будут ВСЕ. Корпы из-за того что им нельзя закрыть код или продавать софт. FSF и OSI из-за того что это будет (в соответствии с их дефинициями) закрытый и несвободный код, причем под вирусной проприетарной лицезией!!

     
     
  • 3.34, Аноним (-), 13:23, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Плеваться будут ВСЕ. Корпы из-за того что им нельзя закрыть код или продавать софт. FSF и OSI из-за того что это будет (в соответствии с их дефинициями)
    > закрытый и несвободный код, причем под вирусной проприетарной лицезией!!

    И название выбрать: opennet troll licenst 1.0 unported :))

     
     
  • 4.43, анонимище (?), 13:36, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Бонус: В названии лицензии желательно включить ☭ (серп и молот), так как в некоторых странах коммунистическая символика запрещена
     
  • 2.47, ИмяХ (ok), 13:49, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >>такой фигни не было:

    Такое будет всегда, независимо от языка. Наивно думать, что профессиональные программисты смогли вдруг случайно сделать такую детскую ошибку. Всё же прекрасно понимают, что это был явный бекдор, замаскированный под "опечатку". И на расте такие бекдоры будут внедряться. Но их обнаружить будет гораздо сложнее не только из-за сложного синтаксиса, но и из-за веры в "безопасный" раст.

     
     
  • 3.48, чатжпт (?), 13:58, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У раст нет сложного синтаксиса, достаточно базовый учебник прочесть. Это современный, выразительный, безопасный язык.

    > Такое будет всегда

    Такое будет всегда в Си. В Раст надо стараться чтобы выстрелить себе в ногу, в Си надо стараться чтобы не выстрелить.

     
  • 3.49, анонимище (?), 14:01, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Бритвы Хэнлона в помощь. Детская ошибка от матерого профессионала гораздо более вероятней чем намеренный бэкдор по убедительной просьбе товарища майора (а если бы было наоборот, то мы бы жили в мире по сравнению с которым КНДР - опора свободы и демократии)
     

  • 1.19, Аноним (-), 11:30, 19/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Что забавно, даже такие "консервативные" ребята как гентушники пробовали сабж для замены [1] стандартных Coreutils.

    Serpent OS (но он пока объективно сырой) использует.

    [1] opennet.ru/opennews/art.shtml?num=61418

     
     
  • 2.21, Аноним (21), 11:34, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Консервативные райсеры? Пробовали потому что думали cp будет быстрее.
     
     
  • 3.51, Аноним (24), 14:16, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    БезопасТно. Нет копирования нет опасностей.
     

  • 1.20, Аноним (21), 11:32, 19/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Достаточно уже GNU vs BSD идеологической фрагментации, а тут в добавок  технологическая подоплёка.
     

  • 1.33, Аноним (-), 13:21, 19/01/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.37, Аноним (-), 13:25, 19/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Опубликован выпуск проекта uutils coreutils 0.0.29, развивающего аналог пакета GNU Coreutils, написанный на языке Rust.

    Звучит как издевательство.

     
     
  • 2.59, Аноним (59), 15:56, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Звучит как издевательство.

    Издеваться над гнутиками дело богоугодное!

     
     
  • 3.71, Аноним (-), 17:07, 19/01/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.55, beck (??), 15:03, 19/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Допустим лицензия,  ладно.

    Как по мне, смысл переписывать софт в том, чтобы сделать реализацию проще, менее ресурсоёмкой, более быстрой.

    Реализация на раст проще, быстрее, требует меньше памяти?

     
     
  • 2.57, Аноним (-), 15:15, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Допустим лицензия,  ладно.

    Нет, не ладно. Копилефт, только копилефт! GNU COreutils имеют лицензию GPLv3+.

    >Как по мне, смысл переписывать софт в том, чтобы сделать реализацию проще, менее ресурсоёмкой, более быстрой.

    GNU Coreutils написана на чистой сишке, проще и быстрее не придумаешь.

    >Реализация на раст проще, быстрее, требует меньше памяти?

    Реализация на Раст будет собираться полдня.

     
     
  • 3.60, Аноним (59), 16:00, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Нет, не ладно.

    Еще как не ладно.
    Огороженный гнурак нужно искоренять любыми способами.
    И только тогда будет шанс вернуться к изначальной, еще университетской, Свободе кода, еще не извращенной и обгаженной всякими сектами Бородача.

    > проще и быстрее не придумаешь.

    И дырявее))

    > Реализация на Раст будет собираться полдня.

    Возможно пора обновить твой пень3 на что-то более актуальное.

     
     
  • 4.70, Аноним (-), 17:03, 19/01/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.61, Аноним (30), 16:21, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>Допустим лицензия,  ладно.
    > Нет, не ладно. Копилефт, только копилефт! GNU COreutils имеют лицензию GPLv3+.

    Э-э-э, а что тогда с таким вот ГНУ-копилефтом https://www.gnu.org/graphics/copyleft-sticker.en.html
    > CreatorTool="Adobe Photoshop CS6 (Macintosh)"

    это ладно, не-ладно или "этодругое!"?

     
     
  • 4.63, Аноним (59), 16:26, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А что вы предлагаете?
    Использовать GNU Image Manipulation Program???
    Вам же дизайнер в лицо просто плюнет!
     
  • 2.64, Аноним (45), 16:34, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Реализация на раст проще, быстрее, требует меньше памяти?

    При прочих равных - требования по ресурсам одинаковые. Но на расте писать проще, быстрее и меньше багов на выходе.

    Проще и быстрее потому что язык более удобный, и можно с лёгкостью переиспользовать высококачественные, кроссплатформенные либы.

     
     
  • 3.69, Аноним (-), 17:03, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Но на расте писать проще, быстрее и меньше багов на выходе.
    >Проще и быстрее потому что язык более удобный, и можно с лёгкостью переиспользовать высококачественные, кроссплатформенные либы.

    Ложь. Обычная ложь.

     

  • 1.58, Аноним (-), 15:16, 19/01/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

  • 1.67, Аноним (67), 16:54, 19/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сизифов труд. На 100 % совместимость не получится никогда. Coreutils всегда будет бежать впереди.
     

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



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

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