Разработчики Ubuntu вернули утилиту cp из GNU Coreutils после того, как реализация из Rust Coreutils вызвала сбой в скрипте сборки Live-образов (livecd-rootfs).
В Ubuntu 24.04 из-за уязвимостей были возвращены cp, mv, rm из GNU, но в обновлении coreutils-from-uutils 0.0.0~ubuntu26 снова задействовали Rust-версии.
Проблема в поведении Rust cp при конфликте опций -L и -a: опция -L требует разыменовывать симлинки, а -a (эквивалент -dR --preserve=all) содержит -d, запрещающее разыменование. В GNU Coreutils конфликтующие флаги разрешаются корректно, а в Rust Coreutils опция -a отбрасывалась целиком, из-за чего терялись -R (рекурсивное копирование) и --preserve=all (сохранение атрибутов).
Linux / Линукс 🥸
Post #12152
2.54K