Posible duplicado:
¿Por qué obtengo archivos como ._foo en mi tarball en OS X?
Creo scripts de autoconf en una Mac. Cuando se ejecuta tar, pone todos estos nombres ._ foobar en el archivo:
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
Ahora lo que está sucediendo es que el sistema de archivos HFS de Apple está poniendo las propiedades del archivo en los nombres ._ foobar para que puedan restaurarse en otro sistema Mac. Pero no los quiero --- son solo basura para mí. ¿Hay alguna forma de suprimirlos?
macos
filesystems
tar
metadata
vy32
fuente
fuente
._*
archivos de archivos (por ejemplo.__init__.py
) que utiliza la misma solución.Respuestas:
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
, yfalse
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.
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.
Cuando lo necesite, puede desarmar la variable para comandos individuales.
En este sistema Mac OS X 10.6, los siguientes comandos parecen saber sobre COPYFILE_DISABLE:
/usr/bin/tar
(un enlace simbólico absdtar
)/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.
fuente
No es un experto, pero un poco de google encontró esto: http://www.ofzenandcomputing.com/zanswers/3422
y esto: http://hintsforums.macworld.com/archive/index.php/t-28703.html
Parece que el segundo comando podría incorporarse a un script ... es posible que no pueda evitar la creación de archivos fork de recursos, pero luego puede eliminarlos automáticamente.
editar: Debería haber mencionado que esto puede tener malos resultados, úselo bajo su propio riesgo.
fuente
tar
menos ellibarchive
basado en BSD (esto incluye Mac OS X), pero puede no ser confiable; Instalar GNU tar es a menudo una buena idea. (Sin embargo, es doloroso. Creo que debe enumerarlos todos y luego pasar esos nombres en la línea de comando). Además, los tenedores de recursos están técnicamente en el disco, pero en HFS + se almacenan en atributos extendidos; Los._
archivos son la forma en que OS X almacena los tenedores de recursos en lugares que no admiten atributos extendidos.Puede intentar compilar el suyo
tar
o instalarlo desde Macports o Fink si está disponible (Homebrew no lo tiene). Con algo de "suerte", debería ignorar los metadatos de OS X y omitir la creación de esos archivos.fuente