В релизе 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», используемого для сохранения прежних атрибутов в копии.
Источник: http://www.opennet.ru/opennews/art.shtml?num=65842
