web-dev-qa-db-fra.com

tar supprimant le début «/» des noms de membres

J'ai une erreur lorsque j'ajoute> /dev/null à la commande tar, quelqu'un sait ce qui se passe dans le deuxième exemple?

bien:

 tar -cvf $kname /var/www

mal:

 tar -cvf $kname /var/www > /dev/null

 error:tar: Removing leading `/' from member names
12
Hebing

La "bonne" version affiche également le même message que vous venez de manquer.

Si vous n'aimez pas le comportement, recherchez "leader", dans le manuel. Premier coup:

-P, --absolute-names
       don't strip leading '/'s from file names
12
Karoly Horvath

En effet, votre fichier ($kname) a le premier /.

Pour résoudre ce problème, vous pouvez spécifier -C pour changer le répertoire, au lieu de spécifier le chemin complet du fichier d'archive.

5
kenorb

Il peut être préférable de laisser vos fichiers sans le "/" dans la sauvegarde et d'ignorer simplement le message d'erreur. Tar le fait par mesure de sécurité, car si vous décompressez le fichier, il replacera automatiquement les fichiers dans le répertoire d'origine. Cela peut être dangereux et la plupart des gens veulent éviter cela. Personnellement, je serais satisfait du fait qu'il ait supprimé le '/' et que votre restauration sera un chemin de répertoire relatif et non absolu. Ensuite, vous pouvez déplacer manuellement les fichiers au bon endroit ou à un autre endroit. Il suffit de poster ceci pour que les gens soient au courant et ne remplacent pas par inadvertance leurs fichiers d'origine.

3
pvella