Los desarrolladores de Ubuntu han reintegrado la utilidad cp del conjunto GNU Coreutils después de detectar incompatibilidades en la implementación de cp de Rust Coreutils, que causaron un error en el script para la creación de imágenes Live (livecd-rootfs).
En la versión de Ubuntu 24.04, debido a vulnerabilidades detectadas, se han reintegrado las utilidades cp, mv y rm de GNU Coreutils, pero en la actualización del paquete coreutils-from-uutils 0.0.0~ubuntu26 se reactivó el uso de las utilidades del conjunto Rust Coreutils. El problema surgió debido a la llamada a la utilidad cp en el script de construcción con las opciones ‘-afL’, que eran procesadas correctamente en GNU Coreutils, pero en Rust Coreutils causaron el error ‘cp: -r not specified; omitting directory ’.
El error ocurrió debido a un comportamiento diferente al procesar las opciones conflictivas ‘-L’ y ‘-a’. La opción ‘-L’ indica que se deben desreferenciar los enlaces simbólicos, mientras que la opción compuesta ‘-a’, que se reemplaza por ‘-dR --preserve=all’, incluye la opción ‘-d’, que prohíbe desreferenciar los enlaces simbólicos. En Rust Coreutils, la opción compuesta ‘-a’ fue eliminada por completo en lugar de eliminar solo la bandera conflictiva ‘-d’, lo que resultó en la pérdida de la bandera ‘-R’, necesaria para la copia recursiva de directorios, así como de la bandera ‘--preserve=all’, utilizada para conservar los atributos originales en la copia.
Fuente: opennet.ru
