# cat lista de arquivos.txt

# cat lista de arquivos.txt

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-recursionparâmetro deve vir antes do -T, mas depois do cf FileNamecomando.

informação relacionada