L'archivio Tar non verrà decompresso - "Il percorso contiene '..'"


8

Il nome del file 2014-12-12 04-00-01.tar. Ho eseguito il comando:

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

L'output è costituito da molte righe del modulo:

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

E poi alcuni dei moduli:

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

Sembra che non stia molto attento quando ho scritto lo script di backup. Come posso decomprimere il file?

Risposte:


11

Ti consigliamo di aggiungere il flag P(o -P) alla riga di comando. Dalla manpage:

-P Conserva i nomi dei percorsi. Per impostazione predefinita , i nomi di percorso assoluti (quelli che iniziano con un carattere / hanno la barra iniziale rimossa sia durante la creazione di archivi che l'estrazione da essi. Inoltre, tar rifiuterà di estrarre le voci di archivio i cui percorsi contengono .. o la cui directory di destinazione verrebbe modificata da un symlink: questa opzione elimina questi comportamenti.

Prova tar Pxvf 2014-12-12\ 04-00-01.tar. Si noti che è necessario l'accesso in scrittura alla directory principale della directory di lavoro in cui si richiama il comando.


Questo ha funzionato!
Thom Smith,

0

Puoi provare:
mkdir ./dir
tar xvf 2014-12-12\ 04-00-01.tar -C --./dir


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

Strano. Prova tar xvf 2014-12-12\ 04-00-01.tar -C --dirinvece.
LDC3,

Cosa significa il doppio trattino?
Xen2050,

È nel file man, penso che indichi che le lettere che seguono fanno parte del comando dato che puoi averetar xv -C --dir -f --2014-12-12\ 04-00-01.tar
LDC3
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.