Профиль: Аноним (вход | регистрация) не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 обязательно


Обсуждение (12) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, soarin (ok), 11:46, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не понял.
    В первом сервис паке 26.04.1 уже будет? Или это уже только в 26.10 и далее?
     
  • 1.2, Аноним (2), 11:47, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    > Опция "-L" предписывает разыменовывать символические ссылки, в то время как составная опция "-a", заменяемая на "-dR --preserve=all", содержит опцию "-d", запрещающую разыменование символических ссылок.
    > -afL

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

     
     
  • 2.4, Omnomno (?), 12:01, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Нет, очевидно же, что виноваты С/C++.
     
  • 2.9, aname (ok), 12:21, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Они начинают догадываться
     
  • 2.12, tkzv (ok), 12:44, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, виноваты те, кто на нём пишет, не удосужившись изучить поведение исходной утилиты и не сделав тесты.
     

  • 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 +/
    Поддерживаю. Лучше упасть на старте, чем потом ловить вот такие непонятки в результатах
     
  • 2.8, Hety (??), 12:17, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    У cat, например, при конфликте флагов одни имеют приоритет над другими и отключают их, если конфликтуют
     
  • 2.11, pashev.ru (?), 12:22, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    a и L не конфликтуют, конфликтуют d и L, а так как d неявная, то явная L имеет приоритет и должна отменять неявную d.
     

  • 1.10, Аноним (10), 12:22, 04/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Раст не готов к продакшену, сворачивайте балаган.
     
     
  • 2.13, anon2 (?), 12:50, 04/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И не говори. Не могут распарсить аргументы, а уже в ядро лезут
     

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



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

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