O arquivo tar não será descompactado - “O caminho contém '..'”


8

O nome do arquivo 2014-12-12 04-00-01.tar. Eu executei o comando:

tar xvf 2014-12-12\ 04-00-01.tar

A saída é muitas linhas do formulário:

x ../server/: Path contains '..'

E então alguns do formulário:

tar: copyfile unpack (../server/logs/.DS_Store) failed: No such file or directory

Parece que não tomei muito cuidado ao escrever o script de backup. Como posso descompactar o arquivo?

Respostas:


11

Você deseja adicionar o sinalizador P(ou -P) à sua linha de comando. Na página de manual:

-P Preserva nomes de caminho. Por padrão , nomes de caminho absolutos (aqueles que começam com um caractere / têm a barra principal removida ao criar arquivos e extraí-los. Além disso, o tar se recusará a extrair entradas de arquivos cujos nomes de caminho contenham .. ou cujo diretório de destino seja alterado por um link simbólico.Esta opção suprime esses comportamentos.

Tente tar Pxvf 2014-12-12\ 04-00-01.tar. Observe que você precisará de acesso de gravação ao diretório pai do diretório de trabalho em que você chama o comando.


Isso fez o truque!
Thom Smith

0

Você poderia tentar:
mkdir ./dir
tar xvf 2014-12-12\ 04-00-01.tar -C --./dir


tar: could not chdir to '--./dir'
Thom Smith

Estranho. Tente em tar xvf 2014-12-12\ 04-00-01.tar -C --dirvez disso.
LDC3

O que significa o traço duplo?
Xen2050

É no arquivo homem, eu acho que indica que as letras que se seguem são parte do comando desde que você pode tertar xv -C --dir -f --2014-12-12\ 04-00-01.tar
LDC3
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.