Dupliquer possible:
Pourquoi ai-je des fichiers tels que ._foo dans mon archive tar OS X?
Je crée des scripts autoconf sur un Mac. Quand tar est lancé, il place tous ces noms de. Foobar dans l’archive:
libewf-20110312/borlandc/builder5/ewfacquire/._ewfacquire.bpf
libewf-20110312/borlandc/builder5/ewfacquire/ewfacquire.bpf
libewf-20110312/borlandc/builder5/ewfacquire/._ewfacquire.bpr
libewf-20110312/borlandc/builder5/ewfacquire/ewfacquire.bpr
Maintenant, ce qui se passe, c'est que le système de fichiers HFS d'Apple met les propriétés du fichier dans les noms ._fobar afin qu'elles puissent être restaurées sur un autre système Mac. Mais je ne les veux pas - ils ne sont que des cochonneries pour moi. Y a-t-il un moyen de les supprimer?
macos
filesystems
tar
metadata
vy32
la source
la source
._*
fichiers à partir d'archives (par exemple.__init__.py
) utilisant la même solution.Réponses:
Pour répondre à une autre question , vous pouvez définir la variable d'environnement non documentée (?) COPYFILE_DISABLE afin d'empêcher plusieurs programmes fournis par le système (y compris tar ) de donner une signification spéciale aux
._*
membres de l'archive. En particulier, cela les empêchera de:stocker des données d'attributs étendus (y compris des ressources), dans
._*
des membres d'archives(c'est-à-dire ne pas «polluer» les archives créées sur Mac OS X mais destinées à être utilisées sur d'autres systèmes), et
tenter d'extraire des attributs étendus ou des ressources à partir de membres d'archive nommés comme
._*
(c.-à-d. ne pas mal interpréter
._*
les membres d'archive dans des archives provenant d'autres systèmes).La valeur que vous utilisez pour la variable d'environnement n'est pas importante (il peut même s'agir d'une chaîne vide). Les valeurs telles que
0
, etfalse
ne réactiveront pas la fonctionnalité. La seule chose qui compte est de savoir si la variable est définie (vous devez la «désélectionner» pour réactiver la fonctionnalité).Vous pouvez utiliser cette variable sur des commandes individuelles en tirant parti de la capacité des shells de type Bourne ( sh , ksh , bash , zsh , etc.) de préfixer des commandes avec des variables d'environnement supplémentaires.
Si vous rencontrez le problème plus souvent qu'autrement, vous pouvez définir et exporter cette variable dans l'un des fichiers d'initialisation de votre shell.
Lorsque vous en avez besoin, vous pouvez alors désélectionner la variable pour des commandes individuelles.
Sur ce système Mac OS X 10.6, les commandes suivantes semblent toutes connaître l'existence de COPYFILE_DISABLE:
/usr/bin/tar
(un lien symbolique versbsdtar
)/usr/bin/bsdtar
/usr/bin/gnutar
/bin/pax
COPYFILE_DISABLE est originaire de Mac OS X 10.5. Si vous devez prendre en charge la version 10.4, COPY_EXTENDED_ATTRIBUTES_DISABLE fonctionne de la même manière.
la source
Pas un expert, mais un peu de google trouvé ceci: http://www.ofzenandcomputing.com/zanswers/3422
et ceci: http://hintsforums.macworld.com/archive/index.php/t-28703.html
La deuxième commande semble pouvoir être incorporée à un script ... vous ne pourrez peut-être pas empêcher la création de fichiers de ressources, mais vous pourrez les supprimer automatiquement par la suite.
edit: J'aurais dû mentionner que cela peut avoir de mauvais résultats, utilisez-le à vos risques et périls.
la source
tar
l'libarchive
exception de celui basé sur BSD (cela inclut Mac OS X), mais il est possible que ce ne soit pas fiable; L’installation de GNU tar est souvent une bonne idée. (C'est cependant douloureux. Je pense qu'il est nécessaire de les répertorier tous, puis de transmettre ces noms sur la ligne de commande.) De plus, techniquement, les ressources sont sur disque, mais sur HFS +, elles sont stockées dans des attributs étendus; Les._
fichiers sont un moyen utilisé par OS X pour stocker les fourchettes de ressources dans des emplacements qui ne prennent pas en charge les attributs étendus.Vous pouvez essayer de vous compiler vous-même
tar
ou de l’installer à partir de Macports ou de Fink, le cas échéant (ce n’est pas le cas de Homebrew). Avec un peu de «chance», il devrait ignorer les métadonnées OS X et ignorer la création de ces fichiers.la source