Ubuntu arendajad naasis GNU Coreutils komplektist cp utiliidi versiooni, pärast seda, kui Rust Coreutils implementatsiooni mittevastavus põhjustas Live-piltide (livecd-rootfs) koostamise skripti tõrke.
Ubuntu 24.04 väljaandes naasid avastatud haavatavuste tõttu GNU Coreutils komplekti utiliidid cp, mv ja rm, kuid coreutils-from-uutils 0.0.0~ubuntu26 paketi uuenduses taastati Rust Coreutils utiliidide kasutamine. Probleem tekkis skripti koostamisel, kus utiliiti cp kutsuti üles valikute "-afL" abil, mis töötasid tavaliselt GNU Coreutils, kuid Rust Coreutils puhul viisid nad tõrke "cp: -r not specified; omitting directory ".
Tõrge tekkis, kuna konfliktsete valikute "-L" ja "-a" käitlemine käitus erinevalt. Valik "-L" käsib dereferentsida sümboolseid linke, samas kui komposiitvalik "-a", mis asendatakse "-dR --preserve=all"-iga, sisaldab valikut "-d", mis keelab sümboolsete linkide dereferentsimise. Rust Coreutils ignoreeris komposiitvalikut "-a" täielikult, mitte ainult konfliktse lipu "-d" eemaldamisega, mis viis „-R“ lipu kadumiseni, mis on vajalik kataloogide rekurssiivseks kopeerimiseks, samuti „--preserve=all“ lipuni, mis on vajalik eelnevate atribuutide säilitamiseks koopias.
Allikas: opennet.ru
