Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
[ksh] untar dans un répertoire distant
Envoyé par: cancerus

Bonjour,

Je rencontre un problème avec la tar en ksh sous AIX 5,2.
Je veux "détarer" une archive dans un répertoire différent de celui dans lequel elle se trouve.
J'ai essayé un certain nombre de combinaisons... que voici :

tar xvf -C/tmp test1.tar
tar xvf -C/tmp/ test1.tar
tar xvf -C /tmp test1.tar
tar xvf -C /tmp/ test1.tar
tar xvf test1.tar -C /tmp
tar -C /tmp/pvcs xvf test1.tar
tar -xvf -C /tmp/ test1.tar
tar -xvf -C /tmp/ ./test1.tar
tar xvf -C /tmp/ ./test1.tar

Et ça ne marche pas. En général, ça donne :
tar: -C/tmp/: A file or directory in the path name does not exist.
ou
File -C/tmp not present in the archive.

Quelqu'un pourrait-il m'aider ?
D'avance merci.


Poste le Thursday 8 May 2008 14:18:15
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant
Envoyé par: tellmewhy

Bonjour cancerus , :-)

As-tu essayé ceci ? :

mkdir /ton_répertoire
tar -xvf /tmp/test1.tar -C /ton_répertoire

Une mine d'or (le trésor de cep) : http://www.cepcasa.info/divers/

Poste le Thursday 8 May 2008 16:56:55
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant
Envoyé par: tellmewhy

Bonjour cancerus, :-)

Une précision, je suis parti du principe que ton fichier.tar était /tmp/test1.tar

Poste le Thursday 8 May 2008 17:00:17
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant
Envoyé par: cancerus

Hello tellmewhy,

Oui, j'ai essayé. L'essai n'est pas concluant

Voici le message obtenu :
tar -xvf /tmp/test1.tar -C /tmp/toto
File -C not present in the archive.
File /tmp/toto not present in the archive.

Je désespère. Pourtant le man tar indique une syntaxe de ce type...

Poste le Thursday 8 May 2008 17:25:05
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant
Envoyé par: tellmewhy

Bonjour cancerus, :-)

Arf, désolé, chez moi ça marche, je l'ai essayé juste auparavant,
mais c'était avec bash et avec une Debian Lenny (Linux donc):

:~$ bash --version
GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.

et la version de tar si cela peut te servir :

:~$ tar --version
tar (GNU tar) 1.19
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later [gnu.org]
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.

Bah, je n'en sais pas plus, désolé. :-(


Poste le Thursday 8 May 2008 17:54:36
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant
Envoyé par: cancerus

Hello tellmewhy,

Merci de ton aide en tous cas. Je vais continuer à chercher et si je trouve, je poste :-).
Bon week-end.

Poste le Friday 9 May 2008 16:35:56
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant
Envoyé par: oudoubah

et avec --directory /rep ?

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Friday 9 May 2008 16:39:00
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant

je suggère bêtement
cd /repertoire/destination
tar xvf /chemin/complet/archive.tar

PS. C'est un répertoire différent, pas distant. Les répertoires distants sont ailleurs sur le réseau (FTP, NFS, ...).

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Friday 9 May 2008 16:39:40
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant
Envoyé par: cancerus

Hello,

oudoubah, merci. Malheureusement, ça ne marche pas non plus.

Basile, tu as raison, désolé de la mauvaise définition de mon poste. Ta méthode est effectivement celle que j'emploie actuellement. Toutefois, je suis sûr que tar est capable de faire cela en une seule ligne. Cela me permettrait de la lancer en une fois via ssh.


Poste le Tuesday 13 May 2008 17:08:58
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant

Via ssh:
ssh machine "cd /repertoire/destination; tar xvf /chemin/complet/archive.tar"

Ou bien alors créer un script nommé tardist sur la machine distante qui contient
#! /bin/sh
# fichier tardist
rep=$1
archiv=$2
cd $rep || exit 1
tar xvf $archiv
puis
ssh machine tardist /repertoire/destination /chemin/complet/archive.tar


----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Tuesday 13 May 2008 18:07:20
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant

tar -xvzf /chemin/fichier.tar.gz -C /autre_chemin/autre_répertoire/

Poste le Wednesday 14 May 2008 02:52:03
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant
Envoyé par: cancerus

Bonjour tout le monde,

Merci Basile, je vais faire comme ça. Je ne savais pas que l'on pouvait encapsuler plusieurs commandes à la suite avec des guillemets pour la passer à ssh.

Pour NBAH,

tar -xvf ${HOME}/essai.tar -C /temp/
File -C not present in the archive.
File /temp/ not present in the archive.

Merci également.
Bonne fin de journée.

Poste le Wednesday 14 May 2008 16:19:22
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant

Bonjour Cancerus

Ton répertoire /temp existe-t-il au préalable?

Chez moi ça marche! Apparemment chez TellMeWhy aussi...

Mais il faut que je ré-apprenne à lire, je n'avais pas fait attention au "[ksh]"!

les programmes s'éxécutent-ils différemment selon le shell dans lequel on se trouve?

Poste le Wednesday 14 May 2008 16:49:59
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant
Envoyé par: oudoubah

Citation
Иван
les programmes s'éxécutent-ils différemment selon
le shell dans lequel on se trouve?

Ce n'est pas une question de shell, mais de version de la commande (est-ce vraiment gnu tar?) Etant donné que c'est sous AIX, j'en doute. On n'a donc que les options standard, pas celles de gnu (auxquelles nous sommes habitués).

Certaines commandes (comme echo) sont parfois incorporées dans le shell. Dans le livre "/proc et /sys" ils prenne comme exemple la commande "echo" où ils affirment avoir eu des comportements différents entre la commande echo et /bin/echo sur certains shells.

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Wednesday 14 May 2008 17:54:45
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant
Envoyé par: AlSim

J'utilise bsdtar et -C fonctionne aussi. Avec gnu tar, tu peux aussi utiliser --directory=. tar --help te donnera plus d'infos sur ta version de tar entre autres.

[catwell.info]

Poste le Wednesday 14 May 2008 18:30:46
Répondre     Citer    
Re: [ksh] untar dans un répertoire distant
Envoyé par: cancerus

Merci à tous.
J'utilise actuellement la solution fournie par Basile.

Pour répondre à AlSim, j'ai fait ce qu'indique la signature d'oudoubah,... à savoir... lire le man :-).
Le problème est que le man indique bien cette fonctionnalité mais que son utilisation ne fonctionne pas... Cf un de mes posts ci-dessus.
Cela me laisse profondément perplexe...

Poste le Friday 6 June 2008 17:31:50
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
[ksh] untar dans un répertoire distant
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons