Tar --absolute-names flag não funciona

0

Eu gostaria de colocar tudo em um arquivo de um determinado diretório, ao mesmo tempo em que salvaria todo o layout de diplomas, portanto seriam necessários nomes de diretório superiores.

Eu corro o seguinte comando:

tar --create --gzip --recursion --file=/home/user/test_backup.tgz --directory=/home/user/opt .

No entanto, isso apenas salva o layout do diretório de opt .

dir1
dir1/file
file1
file2

Pelo que entendi no manual, devo usar --absolute-names ou -P , mas nenhum deles funciona quando os adiciono ao comando acima.

tar --absolute-names --create --gzip --recursion --file=/home/user/test_backup.tgz --directory=/home/user/opt .

Qual poderia ser o problema?

O layout do diretório desejado no arquivo deve ser:

/home/user/opt/dir1
/home/user/opt/dir1/file
/home/user/opt/file1
/home/user/opt/file2
    
por Letokteren 09.06.2017 / 15:18

2 respostas

2

Quando você usa --directory FOO . , está dizendo tar para mudar para o diretório FOO e começar a arquivar a partir daí.

Se você quiser nomes de caminho completos, deverá especificá-los como padrão.

por exemplo

tar -czf /home/user/test_backup.tgz /home/user/opt

No entanto, isso removerá o caractere / inicial. Portanto, você precisa informar tar para não fazer isso:

tar --absolute-names -czf /home/user/test_backup.tgz /home/user/opt
    
por 09.06.2017 / 15:25
2
$ tar -P -cvzf archive.tgz /path/to/dir

Isso criará um arquivo contendo o conteúdo de /path/to/dir com um caminho completo começando com /path/to/dir .

Você também terá que usar -P ao extrair os arquivos do archive se quiser que o / dos caminhos seja preservado.

    
por 09.06.2017 / 15:26