OVH Cloud OVH Cloud

Problème avec tar

15 réponses
Avatar
mezigue
Bonjour,

je fais un tar -cf bidule.zip /machinTruc

il me crée mon archive bidule.zip sans pb.

Ensuite je l'ouvre avec Winrar. Les fichiers ne sont pas en racine de
l'archive mais dans le répertoire "."

Comment cela se fait il? J'ai besoin d'avoir mes fichiers en racine de
l'archive. Est ce possible?

Merci

10 réponses

1 2
Avatar
Stephane Chazelas
2003/10/31, 16:28(+01), mezigue:
je fais un tar -cf bidule.zip /machinTruc


Je ne connais pas de tar qui fasse des fichiers zip, tu dois
confondre avec zip(1).

Ensuite je l'ouvre avec Winrar. Les fichiers ne sont pas en racine de
l'archive mais dans le répertoire "."


kesako Winrar?
~$ Winrar
zsh: command not found: Winrar

Je connais unrar, mais les fichiers rar ne sont ni des archives
compressées "zip" ni des archives "tar".

C'est quoi, la racine d'une archive ?

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]

Avatar
Emmanuel Florac
Dans article <3fa2811b$0$27017$,
disait...

je fais un tar -cf bidule.zip /machinTruc

il me crée mon archive bidule.zip sans pb.

Ensuite je l'ouvre avec Winrar. Les fichiers ne sont pas en racine de
l'archive mais dans le répertoire "."



Sans doute une interprétation de winrar. Essaie avec un autre soft. Et
appelle plutôt tes archives tar machin.tar que machin.zip, ça n'a rien à
voir...

--
Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?

Avatar
Youri
mezigue wrote:

je fais un tar -cf bidule.zip /machinTruc

il me crée mon archive bidule.zip sans pb.


Mettre une extension '.zip' pour une archive tar n'est pas le meilleur moyen
de s'y retrouver dans ses fichiers par la suite... '.tar' serait plus
judicieux.

--
Youri

Avatar
Youri
Stephane Chazelas wrote:

2003/10/31, 16:28(+01), mezigue:
je fais un tar -cf bidule.zip /machinTruc


Je ne connais pas de tar qui fasse des fichiers zip, tu dois
confondre avec zip(1).


Euh, tar crée le fichier qu'on lui demande de créer... Si je fais
tar cf chezmoi.jpg /home
il me fait un 'chezmoi.jpg' comme je lui ai demandé, mais ça reste une
archive tar, il n'en fait pas une photo de ma maison ;-)

Cela dit, appeler machin.zip une archive tar n'est pas vraiment judicieux...

--
Youri


Avatar
David LE BOURGEOIS


C'est quoi, la racine d'une archive ?



N'y aurait-il pas un rapport avec l'option -P de tar ?
Est-ce qu'un 'tar -Pcf bidule.tar /machinTruc' résoudrait le problème ?

D'ailleurs, d'où vient cette particularité du tar d'enlever le / ?
Au boulot, je travaille sous Aix, et pour avoir du relatif, je dois
faire 'cd / && tar -cf /dev/rmt0 ./machinTruc'. Y'a-t-il du GNU la dessous ?

--
David LE BOURGEOIS

Avatar
plzdonotusethis
N'y aurait-il pas un rapport avec l'option -P de tar ?
Est-ce qu'un 'tar -Pcf bidule.tar /machinTruc' résoudrait le problème ?



Il existe plusieurs verions de tar. Il y a le tar unix classique (aix,
solaris, hpu-ux etc ...) et le gnutar.

Le tar classique reprend tel quel le chemin indiqué sur la ligne de
commande lors de la sauvegarde e.g :

tar cvf /tmp/montar /home créer une archive avec des chemins absolus
(/home/toto, /home/toto/.profile) donc on ne peut la restaurer qu'au
meme endroit (ok ya chroot .. ou pax mais bon ...)

cd / ; tar cvf /tmp/toto2 home créer une archive avec des chemins
relatifs au répertoire courant (./home/toto ./home/toto/.profile etc
...)

du coup la restauration dépend du répertoire courant au moment ou on
lance la commande tar xvf /tmp/toto2 . Par exemple cd /tmp ; tar xvf
/tmp/toto2 recréera l'arborescence de home dans /tmp (/tmp/home/toto,
/tmp/home/toto/.profile ...)

Le tar gnu a un comportement différent vis à vis des chemins absolus
fourni en ligne de commande : il enleve le 1er slash (d'où le message
: removing leading /)
du coup les archives gnutar sont toujours faites avec des chemins
relatifs.

L'option -P sur le tar classique supprime pour la sauvegarde des
répertoires le "trailing slash" eg /home/toto/ devient /home/toto
(toto est un répertoire) je suppose que c'est histoire de gagner de la
place ????

Il me semble qu'avec le gnutar l'option -P ( à vérifier) provoque la
conservation du "leading" slash comme sur le tar classique.

F.

Avatar
Stephane Chazelas
2003/11/3, 05:18(-08), Francois Napoleoni:
[...]
Il existe plusieurs verions de tar. Il y a le tar unix classique (aix,
solaris, hpu-ux etc ...) et le gnutar.
[...]


Il n'y a pas de « tar unix classique », tar est peut-être la
commande Unix la moins standardisée qui soit. POSIX ne s'y est
meme pas osé. La commande standard d'archivage est "pax" (qui
peut créer des fichiers tar (format ustar)).

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]

Avatar
David LE BOURGEOIS
Il existe plusieurs verions de tar. Il y a le tar unix classique (aix,
solaris, hpu-ux etc ...) et le gnutar.

Le tar classique reprend tel quel le chemin indiqué sur la ligne de
commande lors de la sauvegarde e.g :

tar cvf /tmp/montar /home créer une archive avec des chemins absolus
(/home/toto, /home/toto/.profile) donc on ne peut la restaurer qu'au
meme endroit (ok ya chroot .. ou pax mais bon ...)

cd / ; tar cvf /tmp/toto2 home créer une archive avec des chemins
relatifs au répertoire courant (./home/toto ./home/toto/.profile etc
....)

du coup la restauration dépend du répertoire courant au moment ou on
lance la commande tar xvf /tmp/toto2 . Par exemple cd /tmp ; tar xvf
/tmp/toto2 recréera l'arborescence de home dans /tmp (/tmp/home/toto,
/tmp/home/toto/.profile ...)

Le tar gnu a un comportement différent vis à vis des chemins absolus
fourni en ligne de commande : il enleve le 1er slash (d'où le message
: removing leading /)
du coup les archives gnutar sont toujours faites avec des chemins
relatifs.

L'option -P sur le tar classique supprime pour la sauvegarde des
répertoires le "trailing slash" eg /home/toto/ devient /home/toto
(toto est un répertoire) je suppose que c'est histoire de gagner de la
place ????

Il me semble qu'avec le gnutar l'option -P ( à vérifier) provoque la
conservation du "leading" slash comme sur le tar classique.



~ $ tar --version | head -1
tar (GNU tar) 1.13.19
~ $ tar -cvf tmp.tar /bin | head -3
tar: Removing leading `/' from member names
bin/
bin/bash
bin/bash2
~ $ tar -Pcvf tmp.tar /bin | head -3
/bin/
/bin/bash
/bin/bash2


--
David LE BOURGEOIS

Avatar
Richard Delorme

2003/11/3, 05:18(-08), Francois Napoleoni:
[...]
Il existe plusieurs verions de tar. Il y a le tar unix classique (aix,
solaris, hpu-ux etc ...) et le gnutar.
[...]


Il n'y a pas de « tar unix classique », tar est peut-être la
commande Unix la moins standardisée qui soit. POSIX ne s'y est
meme pas osé. La commande standard d'archivage est "pax" (qui
peut créer des fichiers tar (format ustar)).


pax est là pour unifier cpio et tar, ce qui a rendu ces deux commandes
obsolètes par la même occasion. Mais on ne peut pas dire que POSIX n'a pas
osé standardiser tar. tar existait encore dans susv2, mais était marqué
LEGACY (comprendre obsolescent), et a été supprimé de susv3. Le manuel tar
de susv2 est :
http://www.opengroup.org/onlinepubs/7908799/xcu/tar.html

--
Richard


Avatar
Stephane Chazelas
2003/11/03, 16:29(+01), Richard Delorme:
[...]
pax est là pour unifier cpio et tar, ce qui a rendu ces deux commandes
obsolètes par la même occasion. Mais on ne peut pas dire que POSIX n'a pas
osé standardiser tar. tar existait encore dans susv2, mais était marqué
LEGACY (comprendre obsolescent), et a été supprimé de susv3. Le manuel tar
de susv2 est :
http://www.opengroup.org/onlinepubs/7908799/xcu/tar.html


SUSv2 n'est pas POSIX. Je peux me tromper, mais POSIX.2 définit
le format "tar" (tape archive) mais pas la commande.

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]

1 2