Os desenvolvedores do Ubuntu trouxeram de volta a versão da ferramenta cp do conjunto GNU Coreutils após a identificação de incompatibilidade na implementação do cp do conjunto Rust Coreutils, que causou um erro no script para a construção de imagens Live (livecd-rootfs).
No lançamento do Ubuntu 24.04, devido a vulnerabilidades identificadas, as ferramentas cp, mv e rm do GNU Coreutils foram restauradas, mas na atualização do pacote coreutils-from-uutils 0.0.0~ubuntu26 foi retomado o uso das ferramentas do conjunto Rust Coreutils. O problema surgiu devido à chamada da ferramenta cp no script de construção com as opções "-afL", que eram normalmente processadas no GNU Coreutils, mas no Rust Coreutils resultaram no erro "cp: -r not specified; omitting directory ".
O erro surgiu devido ao comportamento diferente no tratamento de opções conflitantes "-L" e "-a". A opção "-L" instrui a desfazer links simbólicos, enquanto a opção composta "-a", substituída por "-dR --preserve=all", contém a opção "-d", que proíbe a desfazer de links simbólicos. No Rust Coreutils, a opção composta "-a" foi descartada inteiramente ao invés de remover a flag conflitante "-d", resultando na omissão da flag "-R", necessária para a cópia recursiva de diretórios, bem como da flag "--preserve=all", usada para manter os atributos anteriores na cópia.
Fonte: opennet.ru
