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?

Thom Smith
fonte

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.

zackse
fonte
Isso fez o truque!
Thom Smith
0

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

LDC3
fonte
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