L'archive Tar ne sera pas décompressée - "Le chemin contient '..'"


8

Le nom du fichier 2014-12-12 04-00-01.tar. J'ai exécuté la commande:

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

La sortie est composée de plusieurs lignes du formulaire:

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

Et puis quelques-uns de la forme:

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

Il semble que je n'ai pas fait très attention lorsque j'ai écrit le script de sauvegarde. Comment décompresser le fichier?

Réponses:


11

Vous voudrez ajouter le drapeau P(ou -P) à votre ligne de commande. Depuis la page de manuel:

-P Préserver les chemins d'accès. Par défaut , les noms de chemin absolus (ceux qui commencent par un caractère / ont la barre oblique principale supprimée lors de la création et de l'extraction d'archives. De plus, tar refusera d'extraire les entrées d'archive dont les noms de chemin contiennent .. ou dont le répertoire cible serait modifié par un lien symbolique: cette option supprime ces comportements.

Essayez tar Pxvf 2014-12-12\ 04-00-01.tar. Notez que vous aurez besoin d'un accès en écriture au répertoire parent du répertoire de travail où vous appelez la commande.


Ça a fait l'affaire!
Thom Smith

0

Tu pourrais essayer:
mkdir ./dir
tar xvf 2014-12-12\ 04-00-01.tar -C --./dir


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

Étrange. Essayez tar xvf 2014-12-12\ 04-00-01.tar -C --dirplutôt.
LDC3

Que signifie le double tiret?
Xen2050

C'est dans le fichier man, je pense que cela indique que les lettres qui suivent font partie de la commande puisque vous pouvez avoirtar xv -C --dir -f --2014-12-12\ 04-00-01.tar
LDC3
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.