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

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

Возвращение в Ubuntu утилиты cp из Rust Coreutils привело к сбою при сборке livecd-rootfs

04.07.2026 11:10 (MSK)

Разработчики Ubuntu вернули вариант утилиты cp из набора GNU Coreutils после выявления несовместимости в реализации cp из состава Rust Coreutils, из-за которой стал завершаться ошибкой скрипт для сборки Live-образов (livecd-rootfs).

В релизе Ubuntu 24.04 из-за выявленных уязвимостей были возвращены утилиты cp, mv и rm из GNU Coreutils, но в обновлении пакета coreutils-from-uutils 0.0.0~ubuntu26 было возобновлено использование утилит из набора Rust Coreutils. Проблема возникла из-за вызова в сборочном скрипте утилиты cp с опциями "-afL", которые нормально обрабатывались в GNU Coreutils, но в Rust Coreutils привели к возвращению ошибки "cp: -r not specified; omitting directory <dir-name>".

Ошибка возникала из-за иного поведения при обработке конфликтующих между собой опций "-L" и "-a". Опция "-L" предписывает разыменовывать символические ссылки, в то время как составная опция "-a", заменяемая на "-dR --preserve=all", содержит опцию "-d", запрещающую разыменование символических ссылок. В Rust Coreutils составная опция "-a" отбрасывалась целиком вместо отдельного удаления конфликтующего флага "-d", что приводило к пропаданию флага "-R", необходимого для рекурсивного копирования директорий, а также флага "--preserve=all", используемого для сохранения прежних атрибутов в копии.

  1. Главная ссылка к новости (https://discourse.ubuntu.com/t...)
  2. OpenNews: Выпуск uutils 0.9, варианта GNU Coreutils на языке Rust
  3. OpenNews: В Rust Coreutils выявлено 113 уязвимостей. В Ubuntu 26.04 возвращены cp, mv и rm из GNU Coreutils
  4. OpenNews: Уязвимости в snapd и Rust Сoreutils, позволяющие получить root-привилегии в Ubuntu
  5. OpenNews: Расхождение поведения утилиты du в uutils и GNU Coreutils
  6. OpenNews: Из-за ошибки в uutils в Ubuntu 25.10 перестала работать автоматическая проверка наличия обновлений
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65842-coreutils
Ключевые слова: coreutils, rust, ubuntu
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (45) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, soarin (ok), 11:46, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не понял.
    В первом сервис паке 26.04.1 уже будет? Или это уже только в 26.10 и далее?
     
     
  • 2.42, пох.. (?), 16:22, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да, лошадка, ты не из понятливых. Но читать-то написанное - тоже чтоль не твоё?
    > релизе Ubuntu 24.04

    Ни на что, конечно же не намекает?

    В 26 трешутиль изначально установлен и его там не то что не отменяют, а ты и удалить-то его не сумеешь. Essential package, не хрен собачий.

    А в 24 вот, нате на лопате. В минорном обновлении. Само не установится, но если скачаешь не тот образ...

     
  • 2.46, пох.. (?), 16:39, 04/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.2, Аноним (2), 11:47, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > Опция "-L" предписывает разыменовывать символические ссылки, в то время как составная опция "-a", заменяемая на "-dR --preserve=all", содержит опцию "-d", запрещающую разыменование символических ссылок.
    > -afL

    Но виноват все равно Rust, ога.

     
     
  • 2.4, Omnomno (?), 12:01, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Нет, очевидно же, что виноваты С/C++.
     
  • 2.9, aname (ok), 12:21, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Они начинают догадываться
     
  • 2.12, tkzv (ok), 12:44, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Нет, виноваты те, кто на нём пишет, не удосужившись изучить поведение исходной утилиты и не сделав тесты.
     
     
  • 3.23, Прохожий (??), 13:41, 04/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.37, Аноним (37), 16:01, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если в GNU coreutils обнаружат проблему в cp, вызванную выделением буфера некорректного размера, будет ли "виноват всё равно C"?
     

  • 1.3, Аноним (3), 11:48, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    С разбором аргументов вообще беда, у всех, кто не гетопт из позикса. Но тут, видимо, навайбкодили.
     

  • 1.6, Тот_Самый_Анонимус_ (?), 12:06, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Команда должна не запускаться с конфликтными флагами. А то, что описано — какой-то костыль.
     
     
  • 2.7, Shura (??), 12:13, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Поддерживаю. Лучше упасть на старте, чем потом ловить вот такие непонятки в результатах
     
     
  • 3.22, Имя (?), 13:40, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Все понятки. Первая опция чтобы меньше писать, вторая отменить один из флагов первой. Если ни разу флагами не пользовался то конечно не понятно. Так можно и на вилку грешить что она в розетку не втыкается пока не повернуть ножки напротив дырок. Непонятливая вилка.
     
  • 2.8, Hety (??), 12:17, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У cat, например, при конфликте флагов одни имеют приоритет над другими и отключают их, если конфликтуют
     
     
  • 3.20, User (??), 13:34, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Дай угадаю: поведение, скажем так, неявное и "исторически сложившееся", да?
     
     
  • 4.24, Имя (?), 13:42, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А последовательность букв не важна? адватйе ипсать кка ппоало.
     
  • 2.11, pashev.ru (?), 12:22, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    a и L не конфликтуют, конфликтуют d и L, а так как d неявная, то явная L имеет приоритет и должна отменять неявную d.
     
     
  • 3.17, Вася Пупкин (?), 13:19, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Значит исходно дизайн гoвнa. Вместо таких плясок, из-за которых надо ещё вводить приоритеты, лучше заставить явно их указать и падать при конфликте с понятной ошибкой на ранней стадии.
     
     
  • 4.18, pashev.ru (?), 13:24, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Приоритет тут только один и он натуральный: явное лучше неявного.
     
  • 3.41, Тот_Самый_Анонимус_ (?), 16:12, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не должно быть такого. Всё должно быть интуитивно, если это возможно. В данном случае это возможно, просто авторы не продумали нормальную работу.

     

  • 1.10, Аноним (10), 12:22, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Раст не готов к продакшену, сворачивайте балаган.
     
     
  • 2.13, anon2 (?), 12:50, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И не говори. Не могут распарсить аргументы, а уже в ядро лезут
     
  • 2.14, Пыщь (?), 13:10, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Может и готов. Просто там не "диды с переполнением буфера". Распалялся тут, что любители таких "культиваторов" вместо це-шной "лопаты" начнут ошибаться посильнее "отрубания пальцев". Похоже, не особо промахнулся с ожиданиями. Порог вхождения в знания архитектуры сильно падает, слишком полагаются на инструмент, который за них и жевать будет. Деградируют, считая, что надо мыслить о более важных сущностях, когда уже не в состоянии их связать с низкоуровневыми. Короче тупеют и в высших материях тоже. Если нужен язык который за вас будет обо всём думать - погроммист с итоге скатится к "инженеру попрошайке нейросетей" (prompt - запрос), там уже от погроммиста будет мало что зависеть да и весь запрос скатится к "сделай п0е3дат0 сам пойми как".
     
     
  • 3.27, Bottle (?), 13:54, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тут всё проще - Rust это проект от разноцветных для разноцветных. Он уже не может быть хорошим.
     
  • 3.39, ИмяХ (ok), 16:05, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >> уже не в состоянии их связать с низкоуровневыми. Короче тупеют

    Да, совсем отyпeли эти сишники, даже не думают о регистрах и командах процессора. То ли дело ассемблер.

     
  • 3.43, OpenEcho (?), 16:23, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > погроммист с итоге скатится к "инженеру попрошайке нейросетей" (prompt - запрос)

    Отстаёте от времени, оно уже - так, а про будующее, вообще даже страшно думать...

    Я недавно код ревью делал, спрашиваю "гения":
    - зачем сделали "copy" команду в Го-шном коде?

    password := "SuperDuper"
    .... processing
    copy([]byte(password), make([]byte, len(password)))

    А оно с таким типа крутым видом, "сверху вниз" так говорит , - "вы  разве не знаете, что секреты должны удаляться немедленно после проверки и код кстати был проверен и рефакторен ИИ?"

    Знаю говорю, только один нюанс, в Го строки - immutable!
    Отсюда и reject вашего "гениального" кода... в котором важные вещи, не были покрыты тестами в надежде не свою "гениальность"

     
  • 2.15, Аноним (15), 13:14, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Раст и Wayland, самое лучшее.
     
  • 2.16, Аноним (16), 13:19, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ваше мненние настолько важно, что можете им подтереться)
    Не горлопаны с форума будут решать будущее раста.
    А разработчики.
     
     
  • 3.26, Аноним (26), 13:49, 04/07/2026 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
  • 3.29, Аноним (29), 13:54, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Разработчики давно кончились, остались одни клепатели бэкдоров которые почему-то некоторые наивно считают за уязвимости.

    Раст это большой и жирный бэкдор.

     

  • 1.25, Аноним (25), 13:48, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Прежде, чем программировать вместе с модным ИИ, нужно научиться программировать самостоятельно.
    Парсер параметров для вас сложный? Тренируйтесь писать парсер параметров, хоть десять лет - мир подождёт.
    Господь вам строки дал и буква 'L' расправилась с буквой 'a'.
    А элементарные битовые флаги в энуме и, условно, 'opts &= ~OPT_d' что-то на небезопасном, да.
     
     
  • 2.28, Аноним (25), 13:54, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И rust тут совершенно непричем. Просто до него эти разработчики находились в тени.
     

  • 1.30, Аноним (30), 14:07, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    они сунулись в кореутилс показать что могут. огребли будь здоров. заодно все поняли что кореутилс не такие уж и простые как всем кажется)) писано теми кто свою значимость умеет застолбить.

    так ведь ещё и микрсофт свою версию этих утилов делать начала) ох)

     
     
  • 2.48, пох.. (?), 16:41, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да простые они, простые... Просто ЭТИ нешмагли даже вот в такое простое.
     

  • 1.31, Ivan_83 (ok), 14:17, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > после выявления несовместимости в реализации
    > из-за выявленных уязвимостей были возвращены утилиты cp

    У писавшего крыша уехала на новояз: называть баги совместимости уязвимостями.

     
  • 1.33, Аноним (33), 15:06, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Проблема возникла из-за вызова в сборочном скрипте утилиты cp с опциями "-afL", которые нормально обрабатывались в GNU Coreutils, но в Rust Coreutils привели к возвращению ошибки "cp: -r not specified; omitting directory <dir-name>"

    Напомните, какие цели у проекта? Полностью повторить поведение coreutils? Если у них до сих пор проблемы с флагами, то uutils будут готовы примерно никогда.

     
  • 1.34, Tony_Hawk (?), 15:19, 04/07/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

  • 1.35, Анон1110м (?), 15:46, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зато безопастненько. Да ещё и, наверное, на пару с нейронкой ведь всем известно что программисты тупые. А то ведь неизвестно какие чего ещё могли накосячить эти сишники.
     
  • 1.36, sunjob (ok), 15:50, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    что ни новость прораст... то какой-то цирк
     
     
  • 2.45, OpenEcho (?), 16:36, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > что ни новость прораст... то какой-то цирк

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

    Раст концептуально хорош и давно нужен, но вот то, что они сделали с семантикой языка, реально большая ИМХО глупость. Зачем была эта экономия на символах? Я понимаю когда мы экономили на 2-х килобайтах ППЗУ и 4кб РАМ, но зачем сейчас делать язык который больше похож на регулярки - не понятно...

     

  • 1.38, Аноним (38), 16:01, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вроде уже и понимают, что больно с этим растовелосипедом. Но нет, никак не наиграются..
     
  • 1.40, Аноним (37), 16:06, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    uutils, конечно, сфейлились, но справедливым было бы пнуть и сборочные скрипты убунты, которые решили поиграться с симлинками. Зачем? Это ж просто костыль для администраторов, когда нормально сделать невозможно. Используйте нормальные файлы и каталоги, и проблем знать не будете.
     
  • 1.47, Аноним (47), 16:40, 04/07/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

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



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

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