Az Ubuntu cp segédprogramjának visszatérése a Rust Coreutils-ból a livecd-rootfs összeállításának hibáját okozta

Az Ubuntu fejlesztői visszaállították a cp segédprogram GNU Coreutils-ból származó változatát, miután kompatibilitási problémát fedeztek fel a Rust Coreutils-ból eredő cp megvalósításával, amely miatt a Live-képek (livecd-rootfs) összeállító szkriptje hibával leállt.

Az Ubuntu 24.04-es kiadásában a felfedezett sebezhetőségek miatt a GNU Coreutils-ból származó cp, mv és rm segédprogramok visszakerültek, de a coreutils-from-uutils csomag 0.0.0~ubuntu26-os frissítésében újrahasználni kezdték a Rust Coreutils segédprogramjait. A probléma abból adódott, hogy a cp segédprogramot a -afL opciókkal hívták meg az összeállító szkriptben, amelyek a GNU Coreutils alatt megfelelően kezeltek, de a Rust Coreutils alatt a „cp: -r not specified; omitting directory ” hibaüzenetet adták.

A hiba a -L és -a opciók közötti konfliktus eltérő kezeléséből adódott. A -L opció előírja a szimbolikus hivatkozások dereferálását, míg a -a összetett opció, amelyet -dR —preserve=all-ra cserélnek, tartalmazza a -d opciót, amely megtiltja a szimbolikus hivatkozások dereferálását. A Rust Coreutils esetében az -a összetett opciót egészében elhagyták, ahelyett, hogy csak a konfliktusos -d jelző eltávolítására került volna sor, ami a -R jelző eltávolításához vezetett, amely szükséges a könyvtárak rekurzív másolásához, valamint a —preserve=all jelzőhöz, amelyet az attribútumok megőrzésére használnak a másolatban.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster