Връщането на утилитата cp от Rust Coreutils в Ubuntu доведе до сбой при сборката 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