Spostando una cartella con "sudo mv", come conservare gli ACL?

1

Sto spostando un'intera cartella da un volume a un altro (entrambi HFS +), usando sudo mv , e pensavo che gli ACL sarebbero stati preservati. Comunque alla fine del trasferimento vedo che non sono stati mantenuti, e dato che mv ha cancellato i file nel volume originale non riesco a ripristinarli.

Perché è successo e come farlo la prossima volta?

    
posta CharlesB 27.11.2012 - 19:59
fonte

3 risposte

2

È preferibile utilizzare il comando ditto poiché è a conoscenza dei fork delle risorse, degli attributi HFS e ACL. Lo puoi fare alias o solo rewitpre il tuo cervello per usare idem come meglio si adatta al tuo flusso di lavoro.

    
risposta data 27.11.2012 - 20:04
fonte
1

mv usa cp quando si spostano file tra volumi diversi, e sembra -p opzione non viene utilizzata, quindi ACL non viene conservata.

Tuttavia, se spostati nello stesso volume, gli ACL sono ovviamente conservati.

    
risposta data 27.11.2012 - 19:59
fonte
1

Sono abbastanza sorpreso di leggere che gli ACL non sono stati conservati. Hai GNU mv installato e impostato per avere la precedenza su /bin/mv ?

In base alla pagina man per mv (su entrambi 10.5.8 e 10.8.2) cp -p viene utilizzato quando si spostano file attraverso un limite del filesystem:

As the rename(2) call does not work across file systems, mv uses cp(1) and rm(1) to accomplish the move. The effect is equivalent to:

rm -f destination_path && cp-pRPsource_file destination && rm -rf source_file

cp -p conserva gli ACL:

-p Cause cp to preserve the following attributes of each source file

in the copy: modification time, access time, file flags, file mode, user ID, and group ID, as allowed by permissions. Access Control Lists (ACLs) and Extended Attributes (EAs), including resource forks, will also be preserved.

Ho spostato un file su un'unità flash e di nuovo con mv e ACL sono stati conservati (testati sul mio vecchio PowerBook con Mac OS X 10.5.8 "Leopard" e con OS X 10.8.2 "Mountain Lion").

Se entrambi i filesystem erano formattati come HFS +, come dici tu, e non c'è GNU mv in giro, devo concludere che stai usando una (molto) vecchia versione di Mac OS X. In tal caso, usa il Finder, cp / rm o, come spiegato sopra nella risposta di bmike, ditto .

    
risposta data 27.11.2012 - 21:48
fonte

Leggi altre domande sui tag