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

Разработчиците на 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 ".

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

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster