Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 02-12-2017 04:14:44

bertaudmarc
Membre
Lieu : suisse
Distrib. : Debian 8.4
Noyau : Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.43-
(G)UI : Xfce 4.10
Inscription : 19-04-2016

[Résolu] Problèmes avec la commande tar

Bonjour,
J'ai une archive qui a été, malheureusement, enregistrée avec le chemin pour tous les fichiers et répertoires.
Quand je veux extraire:

tar xvf archive.tar


les fichiers ne sont pas extraits à l'endroit où je suis mais dans un répertoire correspondant au chemin.

Comment faire pour que l'extraction ne tienne pas compte du chemin devant les fichiers ?

Même question pour un répertoire.
Soit un répertoire TOTO dans l'archive
Je fais

cd ou_je_veux_extraire
tar xvf archive.tar TOTO


J'ai comme réponse:

TOTO : non trouvé dans l'archive



J'ai aussi essayé:

cd ou_je_veux_extraire
tar xvf archive.tar -C ou_je_veux_extraire TOTO



Merci,

Note: je viens de découvrir la commande pax.

mes fichiers ou répertoires ont comme chemin

mnt/snap/bertaud/


Je fais alors:

pax -f archive.tar -r -s @mnt/snap/bertaud/@/home/bertaud/@ TOTO


En retour:

pax: WARNING! These patterns were not matched:

Dernière modification par bertaudmarc (02-12-2017 17:11:12)

Hors ligne

#2 02-12-2017 09:11:14

potemkine17
Membre
Distrib. : Débian 9
Noyau : i386
(G)UI : LXDE
Inscription : 17-09-2014

Re : [Résolu] Problèmes avec la commande tar

cd va te servir pour te rendre dans un dossier où se trouve l'archive et non pas à déplacer l'archive dans le dossier de ton choix. Pour cela , faire cp (pour copie) ou mv.

Hors ligne

#3 02-12-2017 12:11:28

smolski
administrateur quasi...modo
Lieu : AIN
Distrib. : 8 (jessie) 64 bits + backports
Noyau : 3.16.0-4-amd64 - 3.16.39-1
(G)UI : gnome 1:3.14+3
Inscription : 21-10-2008

Re : [Résolu] Problèmes avec la commande tar

Alors, il faut étudier le tuto des répertoires et leurs chemins pour bien comprendre ton affaire.
Le lien qui sauve : https://debian-facile.org/doc:programma … epertoires

Et franchement, tout le temps que tu y passeras (n'hésite pas à iindiquer ce que tu ne comprends pas) te servira bien au-delà de ton problème inclus. big_smile

"Théo et Adama te rappellent pourquoi Zyed et Bouna couraient…"
"L'utopie ne signifie pas l'irréalisable, mais l'irréalisée." - T Monod (source :  La zone de Siné)
"Je peux rire de tout mais pas avec n'importe qui." - P Desproges
"saque eud dun" (patois chtimi : fonce dedans)

Hors ligne

#4 02-12-2017 12:32:11

enicar
Membre
Lieu : Grenoble
Distrib. : debian/sid
Noyau : Linux 4.11.12
(G)UI : openbox
Inscription : 26-08-2010

Re : [Résolu] Problèmes avec la commande tar

bertaudmarc a écrit :

Bonjour,
J'ai une archive qui a été, malheureusement, enregistrée avec le chemin pour tous les fichiers et répertoires.
Quand je veux extraire:


tar xvf archive.tar
 



les fichiers ne sont pas extraits à l'endroit où je suis mais dans un répertoire correspondant au chemin.

Comment faire pour que l'extraction ne tienne pas compte du chemin devant les fichiers ?



Il faut savoir que tar sauvegarde une arborescence, puis la restitue.
Par défaut tar enregistre cette arborescence comme un chemin relatif.
Donc quand tu extrait cette arborescence, elle sera restituée dans
le répertoire courant où tu trouves. Par contre tar ne mets pas à plat
l'arborescence sauvegardée et la restitue comme elle était.

En principe lors de la création de l'archive, tar enregistre une arborescence
en tant que chemin relatif, même si on lui donne un chemin absolu, sauf si
on a créé cette archive en utilisant l'option -P ou --absolute-names, comme
par exemple :


tar -aPcf etc.tar.gz /etc
 


Mais je ne recommande pas du tout l'usage de cette possibilité.
Je trouve qu'il est bien plus sûr de toujours avoir des chemins relatifs.

Et je répète, si tu t'attendais à ce que tous les fichiers de l'arborescence
sauvée se retrouvent dans ton répertoire courant, tout à plat, ça ne sera pas
le cas.

Dernière modification par enicar (02-12-2017 12:33:45)


La machine, c'est dépassé ! On va tout remplacer par des humains big_smile

Hors ligne

#5 02-12-2017 15:48:58

Philou92
Adhérent(e)
Lieu : Hauts de Seine
Distrib. : Debian Jessie 8.9
Noyau : Linux 3.16.0-4-amd64
(G)UI : Gnome 3.14
Inscription : 29-04-2015

Re : [Résolu] Problèmes avec la commande tar

bertaudmarc a écrit :

Bonjour,
J'ai une archive qui a été, malheureusement, enregistrée avec le chemin pour tous les fichiers et répertoires.
Quand je veux extraire:

tar xvf archive.tar


les fichiers ne sont pas extraits à l'endroit où je suis mais dans un répertoire correspondant au chemin.



La commande ne serait pas plutôt

tar -xvf archive.tar

Hors ligne

#6 02-12-2017 15:52:23

Croutons
Membre
Distrib. : Handylinux 2.5 vers Jessie et Debian Stretch
Noyau : Linux 3.16.0-4-686-pae, Linux 4.9.0-3-686-pae
(G)UI : xfce
Inscription : 16-12-2016

Re : [Résolu] Problèmes avec la commande tar

d'apres le man on peux omettre le signe - avec le commande tar

man tar a écrit :

Une lettre de fonction peut ne pas être préfixée par - et peut être combinée avec d'autres options lettre.


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<--
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#7 02-12-2017 16:08:54

Philou92
Adhérent(e)
Lieu : Hauts de Seine
Distrib. : Debian Jessie 8.9
Noyau : Linux 3.16.0-4-amd64
(G)UI : Gnome 3.14
Inscription : 29-04-2015

Re : [Résolu] Problèmes avec la commande tar

Oui on peut, mais ces deux commandes peuvent être interprétées différemment.
La commande tar est complexe à maîtriser. Une option pouvant être prise pour l'argument d'une autre suivant l'ordre choisi.

tar -x -v -f archive.tar

est une écriture également possible et sans ambiguïté.

Hors ligne

#8 02-12-2017 17:08:43

bertaudmarc
Membre
Lieu : suisse
Distrib. : Debian 8.4
Noyau : Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.43-
(G)UI : Xfce 4.10
Inscription : 19-04-2016

Re : [Résolu] Problèmes avec la commande tar

Merci @enicar
Oui c'est vrai, plus je fais d'erreurs et plus j'apprends mieux linux !

Ceci dit j'ai trouvé la bonne syntaxe pour récupérer avec pax:

pax -f archive.tar -r -s @path_mauvais_chemin@path_bon_chemin@ mauvais_chemin/fichier



Exemple concrêt:

pax -f archive.tar -r -s @mnt/snap/bertaud/@/home/bertaud/@ mnt/snap/bertaud/TOTO



Il ne faut pas oublier de mettre le chemin actuel devant ce que l'on veux extraire peace_flag.gif

Dernière modification par bertaudmarc (02-12-2017 17:10:41)

Hors ligne

Pied de page des forums