The OpenNET Project / Index page

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

Выпуск набора утилит GNU Coreutils 9.4 и его варианта на языке Rust

04.09.2023 11:14

Опубликована стабильная версия набора базовых системных утилит GNU Coreutils 9.4, в состав которого входят такие программы, как sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln, ls и т.д.

Ключевые новшества:

  • В утилитах comm, cut, join, od и uniq реализовано безотлагательное прекращение выполнения в случае возникновения ошибок при записи.
  • В утилите split реализована поддержка переменной окружения $TMPDIR для определения местоположения временных файлов, а также оптимизирована обработка очень больших входных данных. При загрузке с SSD-накопителей производительность split увеличилась примерно на 5%.
  • В утилите tac обеспечен откат на использование каталога '/tmp', если не выставлена переменная окружения $TMPDIR.
  • В утилитах cp, mv и install прекращено использование системного вызова copy_file_range на системах с ядрами Linux до версии 5.3.
  • При выполнении команды 'who -a' обеспечен показ времени загрузки в Alpine Linux, OpenBSD, Cygwin, Haiku и некоторых платформах на базе Android.
  • В утилите 'uptime' реализована поддержка некоторых платформ на базе Android и обеспечен учёт времени нахождения в спящем режиме виртуальных машин с Linux, Hurd, kFreeBSD, NetBSD, OpenBSD, Minix и Cygwin.
  • На платформах GNU/Linux, на которых используются файлы utmp с 32-разрядным полем для времени, в утилитах inky, uptime и who реализована сборочная опция "--enable-systemd", решающая проблему 2038 года при наличии systemd.
  • Команды 'cp -v' и 'mv -v' теперь не будут по умолчанию выводить сообщения о каждом пропущенном файле при использовании опций "-i" или "-u", если явно не указан флаг "--debug" (возвращено поведение coreutils до выпуска 9.3).
  • В команде 'cksum -b' прекращён вывод контрольных сумм в формате base64 для приближения поведения к отдельным утилитам для расчёта контрольных сумм.
  • Изменён текст сообщения об ошибке, выводимый если при выполнении команды 'mv dir x' в каталоге "x" имеется не пустой подкаталог "dir" (x/dir). Вместо вывода ошибки "mv: cannot move 'dir' to 'x/dir': Directory not empty" теперь отображается "mv: cannot overwrite 'x/dir': Directory not empty".



Также доступен выпуск проекта uutils coreutils 0.0.21, развивающего аналог пакета 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.

В новой версии uutils в качестве эталонного задействован выпуск GNU Coreutils 9.4. Улучшена совместимость с эталонным тестовым набором GNU Coreutils, при прохождении которого успешно выполнено 372 теста (в прошлой версии 373), 181 (178) тест завершился неудачей, а 49 (49) тестов были пропущены. Расширены возможности, улучшена совместимость и добавлены недостающие опции для утилит cat, chown, cp, csplit, date, dd, factor, fmt, hashsum, mktemp, mknod, mv, nl, rm, seq, sum, stat, stty, test, touch и tsort.



  1. Главная ссылка к новости (https://www.mail-archive.com/i...)
  2. OpenNews: Выпуск uutils 0.0.19, варианта GNU Coreutils на языке Rust
  3. OpenNews: Адаптация Debian для использования реализации coreutils на языке Rust
  4. OpenNews: Для избавления Glibc от проблемы 2038 года предложено прекратить использование utmp
  5. OpenNews: Выпуск операционной системы Redox OS 0.8, написанной на языке Rust
  6. OpenNews: Выпуск набора базовых системных утилит GNU Coreutils 9.2
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/59712-coreutils
Ключевые слова: coreutils, rust, uutils
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (56) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:26, 04/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > реализация на Rust распространяется под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL

    И это здорово.

     
     
  • 2.31, Аноним (31), 14:25, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Чем?
     
     
  • 3.39, Аноним2 (?), 17:05, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • –5 +/
    тем что этот код открыт!
    а не ограничен хотелками гнутых, которые хотели запатентовать саму фразу open source
     
     
  • 4.43, Аноним (-), 17:56, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >а не ограничен хотелками гнуты

    Хотелки гнутых противоречат хотелкам проприетарщиков.

    >которые хотели запатентовать саму фразу open source

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

     
     
  • 5.50, анон_2 (?), 23:40, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https://opensource.org/pressreleases/certified-open-source.php/
    вот это история (от лица OSI) - они хотели зарегистрировать торговую марку, "чтобы никто другой с плохими намерениями не зарегистрировал ее"

    Какое благородство!
    Мы украдем у мира общеупотребительный термин (как Яблоко или Окно) чтобы другие плохие парни не украли его!

    Это конечно, не настолько круто как паразиты из FSF, которые требуют "письменное заявление о передаче авторских прав" (исключительно ради того, чтобы помочь с юридической защитой!!)

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

     
     
  • 6.58, Аноним (-), 07:30, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Да FSF, в том числе, консультирует программистов Да, юридическая организация же... большой текст свёрнут, показать
     
     
  • 7.60, Аноним (60), 09:15, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Криминальных отношений типа: "Я тебе дал денег и поэтому ты мой должник", там не возникает

    Главное - верить. Что ни  Sinaloa cartel, ни 5 Семей, ни уличных банд не существует. Не говоря уже об употреблении сами знаете чего сыном одного государственного чиновника высшего звена (что само по себе возмутительно - таких круглосуточно охраняют, значит тех, кто ему сами знаете что поставил, могли за жопу схватить, но не схватили), который половину своего дохода должен откатывать отцу за то, что он использует своё служебное положение для оказания давления на другие государства, чтобы бизнес, записанный на его сына, процветал.

     
     
  • 8.70, Аноним (-), 12:18, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ловко ты так к компаниям из Кремниевой долины примешал криминальные банды В Шта... текст свёрнут, показать
     
  • 4.45, Аноним (31), 18:36, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты точно читал текст лицензии GPL? Покажи, где написано, что код закрыт?
     
     
  • 5.51, анон_2 (?), 23:48, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Легко, если ты читал бы лицензию то знал, что обязанность предоставлять код есть только "для тех кто получил программу".

    Т.е.
    1. форкаем ядро линукс
    2. модифицируем под себя
    3. ни с кем не делимся и не выкладываем в публичный доступ
    4. ...
    5. PROFIT!!

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

     
     
  • 6.55, fuggy (ok), 02:08, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То-то теперь придёт MIT и решит проблему. Да? Правда ведь?
     

  • 1.2, Аноним (2), 11:26, 04/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    > Улучшена совместимость с эталонным тестовым набором GNU Coreutils, при прохождении которого успешно выполнено 372 теста (в прошлой версии 373), 181 (178) тест завершился неудачей, а 49 (49) тестов были пропущены

    Это впечатляющий отрицательный рост.

     
     
  • 2.3, Аноним (1), 11:33, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Рим не сразу строился.
     
  • 2.10, Анонимусс (?), 12:16, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну как бы новый 9.4 вышел, там появились новые фичи и тесты, которые еще не перенесли в uutils
    Так что все логично вроде.
     
     
  • 3.29, НяшМяш (ok), 13:56, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Логика и кексперты. Звучит реалистично.
     
  • 2.64, cf (??), 09:52, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    90% тестов(покрывающие 10% фцнкционала) прошли успешно
     

  • 1.8, Аноним (8), 12:10, 04/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > обеспечен учёт времени нахождения в спящем режиме виртуальных машин

    это вот кстате очень неясно зачем, тк uptime фактически не меняется, те будет

    kernel_uptime - current_time

    но зачем ? может какеш из за бага 2038 что то обкоцалось в сознании разрабов (ну или инт теперь переполнится в другом месте хз крч

     
  • 1.14, Аноним (14), 12:47, 04/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Также доступен выпуск проекта uutils coreutils 0.0.21, развивающего аналог пакета GNU Coreutils, переписанный на языке Rust.

    Есть ли аналог busybox на расте ?

     
     
  • 2.16, Name123 (?), 13:00, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    это оно и есть https://uutils.github.io/coreutils/book/multicall.html
     
     
  • 3.20, Аноним (14), 13:09, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > это оно и есть

    принцип построения бинарника такой же, не планируют они выйти за рамки набора утилит coreutils как в busybox ?

     
  • 3.59, Аноним (59), 07:51, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    весит 30 метров вместо полутора. Отличная работа, растоманы!
     
     
  • 4.69, anonymous (??), 11:05, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Память сийчас дишовая !!!
     
     
  • 5.73, pavlinux (ok), 13:20, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    CACHE MISS, не не слышал? Ах да, мигагерцы спасают.
    Предлагаешь из-за бездарных дол6оящеров покупать компы по 25000$ раз в два года?  
     
  • 4.79, morphe (?), 18:35, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    8мб вообще-то
    Однако там реализовано сильно больше из gnu coreutils чем поддерживается в busybox
    Справка и помощь по командам также имеется, многие команды имеют лучшую буферизацию/поддержку фич/многопоточность/производительность
     
  • 2.17, Аноним (17), 13:01, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Есть один чудак, который пилит toybox под бздунской лицензией, но на Сишке. Подскажите ему, что нужно переписать на Расте.
     
     
  • 3.21, Аноним (14), 13:15, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Подскажите ему, что нужно переписать на Расте.

    сам догадается

     
  • 3.83, Rustoman (?), 15:18, 09/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    EVERYTHING!!!!!
     
  • 2.18, Анонин (?), 13:06, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Был RustyBox, но они выбрали имхо неудачный подход - сконвертить сишный код в при помощи c2rust, а потом потихоньку менять.
    Но не взлетело, думаю потому что невозможно добиться идиоматически правильного кода из такого кадавра.
     

  • 1.19, Аноним (19), 13:06, 04/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я к этому отношусь как к репортажам с Марса. Кто-то что-то пишет за бугром. В РФ же Rust умер во время родов. Вакансий нет, растительности нет, населена роботами.
     
     
  • 2.22, Аноним (14), 13:19, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В РФ же Rust умер во время родов. Вакансий нет, растительности нет, населена роботами.

    не в РФ много вакансий на Rust - есть смысл надеяться на удалёнку ?

     
     
  • 3.25, 12yoexpert (ok), 13:24, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    ложь, их почти нет
     
     
  • 4.30, Аноним (14), 14:10, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > ложь, их почти нет

    вообще-то это был вопрос, но знаю что они есть

    https://career.habr.com/vacancies/1000120084

     
     
  • 5.37, Аноним2 (?), 16:50, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    не, ну ты видел сколько там знать нужно?
    боюсь тут таких не найдут

    это же не скрипты на баше копипастить, или пропатчити KDE2 під FreeBSD
    тут даже думать придется

     
     
  • 6.68, Аноним (68), 11:00, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > не, ну ты видел сколько там знать нужно?
    > боюсь тут таких не найдут

    посмотрел их фирмварь - ядро кривое аллвиннеровское а не портированное майнстримное, я такие в первом классе делал

    https://github.com/turing-machines/BMC-Firmware

     
  • 5.38, Бывалый смузихлёб (?), 17:03, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >> https://career.habr.com/vacancies/1000120084
    > Вакансия в архиве. Вакансия в архиве, на неё нельзя откликнуться.
     
  • 5.74, pavlinux (ok), 13:31, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Шо они там хотят стоит от 15000$
     
  • 2.26, Аноним2 (?), 13:28, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    а разве других вакансий много?
    насколько вижу кол-во уменьшилось, несмотря на то, что соискателей тоже стало меньше (после начала того что называть нельзя)
    правда это было еще до "кидков с броней"
     

  • 1.46, Аноньимъ (ok), 18:49, 04/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А есть какой-то сакральный смысл все эти "утилиты" отдельными бинарниками распространять, вместо стандартного набора команд шела?
     
     
  • 2.48, Аноним (48), 21:14, 04/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Можешь собрать в 1 бинарь типа busybox, сабж это умеет. Но когда тебе надо 1000 нестандартных бинарей в секунду вызывать (вроде сабжа или альтернативных реализаций которых полно), ты заметишь разницу. Шел конечно кэширует вызовы, но 1000 10 мегабайтных бинарей по-любому загадят память.
     
     
  • 3.53, Аноньимъ (ok), 01:38, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Можешь собрать в 1 бинарь типа busybox, сабж это умеет. Но когда
    > тебе надо 1000 нестандартных бинарей в секунду вызывать (вроде сабжа или
    > альтернативных реализаций которых полно), ты заметишь разницу. Шел конечно кэширует вызовы,
    > но 1000 10 мегабайтных бинарей по-любому загадят память.

    Собирать то зачем?
    Это просто разные функции, они могут кучу кода разделять.

    Ненужно ничего кешировать от слова совсем.

    Можно убрать сишку из юникса, но юникс из сишника убрать нельзя...

     
  • 3.57, YetAnotherOnanym (ok), 06:48, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если всё будет запихнуто в шелл, ему не придётся ничего вызывать.
     
     
  • 4.65, Аноним (48), 09:59, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно, всего-то шелл разжиреет ещё больше, какая ерунда. И вот шелл-то миллионы раз в секунду вызывается, что бы ты ни делал.

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

    Ещё есть менее очевидное, но то, что, например, cat вызывается в подпроцессе, позволяет перезаписать файл на месте, напрямую вычитывая старые данные пайпом (чаще всего использую в связке с jq, у неё есть ммм ряд ограничений). Отдельный процесс в некоторых случаях лучше. Правда, sleep -- это отдельный процесс, и миллионы слипов мешаются.

     
     
  • 5.66, Аноним (48), 10:12, 05/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А так можно ещё и util-linux встроить, ну а чего стесняться. Сделаем systemd из баша, потом и его самого встроим.
     
  • 3.81, Аноним (81), 01:08, 06/09/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Эээээ, а какая разница, сколько будет весить бинарь, если из него выполняться будет только небольшой кусок? Только он (плюс паддинги) и сфетчится в рам.
     

  • 1.56, YetAnotherOnanym (ok), 06:46, 05/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > откат на использование каталога '/tmp', если не выставлена переменная окружения $TMPDIR

    Подводных камней здесь ожидаю я.

     
  • 1.62, Аноним (62), 09:30, 05/09/2023 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

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

  • 1.75, Аноним (75), 13:31, 05/09/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > https://github.com/uutils/coreutils/
    >  MIT license

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

     

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



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

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