Risposte:
Usando tar
Creare:
tar --acls -cpf backup.tar some-dir-or-file
Per decomprimere:
tar --acls -xpf backup.tar
tar: unrecognized option '--acls'
non funziona.
--acls
tar
non supporta --acls
fino a Jessie. (Vedi bug # 732071. ) La funzione è disponibile anche nel pacchetto da wheezy-backports
.
In realtà, credo che la domanda non riguardasse i bit di autorizzazione del file (standard), ma le informazioni ACL estese (vedere setfacl (1) o acl (5)).
Per quanto ne so, il tar GNU non modificato ignora le informazioni ACL. (La pagina man di GNU tar 1.15.1 fornita con RHEL 5.2 menziona gli switch --acls e --no-acls, ma non li ho fatti funzionare.)
Tuttavia, il programma stellare è in grado di eseguire il backup e il ripristino di ACL, se si seleziona il formato exustar :
star -c -p -acl artype=exustar -f archive.tar files...
star -x -acl -f archive.tar
Home page di Star: http://cdrecord.berlios.de/new/private/star.html Star è disponibile almeno in Ubuntu.
star
non è disponibile su Debian e non sembra essere gestito da una "squadra". Il progetto è ancora vivo e mantenuto dopo oltre 30 anni. Prova bsdtar
se vuoi qualcos'altro.
Sto cercando una soluzione e finora ho trovato questo:
prima fai un getfactl dalla mia cartella
getfacl -R /a_folder > folder.acl
quindi fai un catrame normale
tar -czvf folder.tar.gz /a_folder
quando lo estraggo
tar -xvf folder.tar.gz
fare un setfacl per le autorizzazioni.
setfacl --restore=folder.acl
questo funziona per me.
Se stai cercando una soluzione semplice ma potente da usare, ti consiglierei rdiff-backup
.
Fondamentalmente, crea una copia di una directory di origine in una directory di destinazione, ma salva anche informazioni aggiuntive in modo da poter tornare indietro nel tempo quando vuoi.
E, naturalmente, conserva collegamenti simbolici, file speciali, collegamenti fissi, permessi, proprietà uid / gid e tempi di modifica.
Ti consiglio di usare bsdtar
.
bsdtar
backup esteso ACL di default , si usa la stessa sintassi come GNU tar
, e gli archivi che produce sono leggibili da GNU tar
.
Il nome del pacchetto e del comando (sotto le distribuzioni basate su Debian) è bsdtar
.
bsdtar cf archive.tar /my/folder/using/extd_acl
bsdtar xf archive.tar
Il secondo comando (estrai) ripristina gli ACL.
Dalla pagina man tar.
-p, --same-autorizzazioni, --preserve-autorizzazioni
ignora umask durante l'estrazione dei file (impostazione predefinita per root)
In realtà non è l'atto di archiviazione che modifica le autorizzazioni di accesso (ACL), ma l'atto di decomprimerle. Tar è molto spesso usato per distribuire file da un utente a un altro, e quindi si ritiene conveniente applicare un utente umask quando decomprimono.
Per conservare le autorizzazioni precedenti dei file, è sufficiente aggiungere un ap alle proprie opzioni. Per esempio
Catrame dritto:
tar xvp some-file
bz.tar:
tar xvjp some-file
gz.tar:
tar xvzp some-file