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
, et false
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.
COPYFILE_DISABLE=1 tar cf new.tar …
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.
# turn off special handling of ._* files in tar, etc.
COPYFILE_DISABLE=1; export COPYFILE_DISABLE
Lorsque vous en avez besoin, vous pouvez alors désélectionner la variable pour des commandes individuelles.
(unset COPYFILE_DISABLE; tar cf somefile.tar …)
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 vers bsdtar
)
/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.