
Estou criando um arquivo tar a partir de uma lista de arquivos com a opção -T. Ao extrair o arquivo tar, as permissões do subdiretório são root:root em vez das permissões no próprio diretório? Alguma idéia de como consertar isso?
Exemplo:
# cat lista de arquivos.txt
arquivo1.txt
dir1/arquivo2.txt
dir1/dir2/arquivo3.txt
# tar cf arquivos.tar -T lista de arquivos.txt
# arquivos tar xf.tar
A propriedade dos arquivos extraídos corresponde à propriedade original em arquivo1.txt, arquivo2.txt e arquivo3.txt A propriedade em dir1 e dir2 não corresponde. O proprietário é root:root
Eu poderia seguir uma solução semelhante aPreservar a propriedade e os direitos do diretório pai ao extrair o arquivo tar mas esperava que houvesse outra maneira, pois isso poderia resultar em mais trabalho para vários diretórios.
Responder1
Você precisa fazer backup dos diretórios e também dos arquivos, para os quais você deve fazer duas coisas: –
1) Adicione os diretórios à sua lista de arquivos:
file1.txt
dir1
dir1/file2.txt
dir1/dir2
dir1/dir2/file3.txt
2) Adicione --no-recursion
à string de execução de backup para impedir que todos os outros arquivos nos diretórios sejam incluídos:
tar cf files.tar --no-recursion -T filelist.txt
Observe que a ordem é importante: os diretórios devem preceder qualquer referência em um subdiretório ou arquivo; e o --no-recursion
parâmetro deve vir antes do -T
, mas depois do cf FileName
comando.