Devo comprimere una directory usando tar.gz preservando non solo le autorizzazioni, ma anche la proprietà / i gruppi.
E, in questa directory ci sono molti file che appartengono a molti utenti.
Devo comprimere una directory usando tar.gz preservando non solo le autorizzazioni, ma anche la proprietà / i gruppi.
E, in questa directory ci sono molti file che appartengono a molti utenti.
Risposte:
Stai cercando il -p
flag, ad esempio tar -cvpf file.tar folderToCompress
, fai attenzione usando il tar
comando in quanto è facile sovrascrivere i file se la sintassi per il comando non è corretta.
I proprietari del file vengono conservati normalmente, quando si estrae è necessario utilizzare --same-owner
flag. Ad esempio, tar --same-owner -xvf file.tar
sebbene la bandiera sia consigliata solo ai super utenti.
Controlla la pagina man tar .
tar -czvpf file.tar.gz folderToCompress
o tar -cjvpf file.tar.bz2 folderToCompress
.
-f
flag - anche se non ho corretto il flag di compressione -z
. Per la compressione, raccomanderei -Ipigz
(è una i maiuscola) al posto di -z
; sui sistemi multi-core, pigz può essere notevolmente più veloce.
p
è un flag di estrazione , non avrà alcun effetto sulla creazione dell'archivio. Influisce anche sulle autorizzazioni dei file, non sulla proprietà. Il rispettivo flag di proprietà è --same-owner
, che è abilitato di default quando si estrae come root
.
Devo comprimere una directory usando tar.gz preservando non solo le autorizzazioni, ma anche la proprietà / i gruppi.
Per impostazione predefinita, tar
conserverà le autorizzazioni e la proprietà dei file durante la creazione dell'archivio.
Per estrarre le autorizzazioni e la proprietà dei file, è necessario eseguire tar
come root durante l'estrazione, poiché la modifica della proprietà dei file richiede in genere i privilegi di superutente. Vedi questa domanda per maggiori informazioni.
tar -cvpf file.tar
(o forse meglio ancora in termini di chiarezza-cvp -f file.tar
). In caso contrario, la-fp
parte viene interpretata come--file p
etar
sta scrivendo nel file denominatop
anzichéfile.tar
.