Por respuesta a otra pregunta , puede configurar la variable de entorno no documentada (?) COPYFILE_DISABLE para evitar que varios de los programas suministrados por el sistema (incluido tar ) den un significado especial a los ._*
miembros del archivo. En particular, les impedirá:
almacenar datos de atributos extendidos (incluidos los tenedores de recursos) en los ._*
miembros del archivo
(es decir, no "contaminen" archivos creados en Mac OS X pero destinados a ser utilizados en otros sistemas), y
intentar extraer atributos o recursos extendidos de los miembros del archivo nombrados como ._*
(es decir, no malinterpretar los ._*
miembros del archivo en archivos de otros sistemas).
El valor que utiliza para la variable de entorno no es importante (incluso puede ser la cadena vacía). Los valores tienen gusto 0
, y false
no volverán a habilitar la característica. Lo único que importa es si la variable está configurada (debe "desarmarla" para volver a habilitar la función).
Puede usar esta variable en comandos individuales aprovechando la capacidad de los shells de estilo Bourne ( sh , ksh , bash , zsh , etc.) para prefijar comandos con variables de entorno adicionales.
COPYFILE_DISABLE=1 tar cf new.tar …
Si se encuentra con el problema la mayoría de las veces, es posible que desee establecer y exportar esta variable en uno de los archivos de inicialización de su shell.
# turn off special handling of ._* files in tar, etc.
COPYFILE_DISABLE=1; export COPYFILE_DISABLE
Cuando lo necesite, puede desarmar la variable para comandos individuales.
(unset COPYFILE_DISABLE; tar cf somefile.tar …)
En este sistema Mac OS X 10.6, los siguientes comandos parecen saber sobre COPYFILE_DISABLE:
/usr/bin/tar
(un enlace simbólico a bsdtar
)
/usr/bin/bsdtar
/usr/bin/gnutar
/bin/pax
COPYFILE_DISABLE se originó en Mac OS X 10.5. Si necesita admitir 10.4, tiene COPY_EXTENDED_ATTRIBUTES_DISABLE que funciona de la misma manera.