¿Por qué OSX agrega '._ <nombre de archivo>' extra cuando tardo un directorio?

14

Me gustaría saber por qué si "tar -czf" un archivo / directorio, osx agrega un: ._ para cada archivo? Veo esto cuando descomprimo en Linux. O cuando trabajo con el proyecto descomprimido en eclipse, ya que no me gustan en absoluto. Yo uso 10.7.5.

Dark Star1
fuente

Respuestas:

15

El tar de OS X usa el formato AppleDouble para almacenar atributos extendidos y ACL. tar y Archive Utility también saben cómo convertir los archivos ._ a los formatos nativos, pero los archivos ._ se mantienen si el archivo se extrae en otra plataforma o en un volumen que no sea HFS.

Por lo general, solo puede indicarle a tar que elimine los metadatos configurando COPYFILE_DISABLE en algún valor:

$ xattr -l file.jpg
com.apple.quarantine: 0002;50d20c48;Tweetbot;
$ tar -cf 1.tar file.jpg 
$ tar -tf 1.tar 
./._file.jpg
file.jpg
$ COPYFILE_DISABLE=1 tar -cf 2.tar file.jpg 
$ tar -tf 2.tar 
file.jpg

Información almacenada como atributos extendidos:

  • Horquillas de recursos (desde 10.4)
    • Iconos personalizados establecidos en Finder y las imágenes de los archivos Icon \ r
    • Metadatos en archivos PSD
    • Objetos de script almacenados en archivos scpt, estado de la ventana del Editor AppleScript
  • Información sobre alias
  • Estado de cuarentena, URL de descarga
  • Comentarios destacados
  • Codificación de archivos guardados con TextEdit
  • Posición de los archivos guardados con TextMate
  • Notas descremadas

Puede ver las ACL con ls -le:

$ ls -led /Applications/
drwxrwxr-x@ 146 root  admin  4964 Jun 17 22:53 /Applications/
 0: group:everyone deny delete
Lri
fuente
Un gran consejo sobre COPYFILE_DISABLE, resolvió mis problemas con esos desagradables archivos ._.
StasM
github.com/libarchive/libarchive/commit/… llama la atención sobre--disable-copyfile
Graham Perrin
-2

Esos archivos siempre estuvieron allí, pero son invisibles en Finder (y en la mayoría de las aplicaciones de Mac OS). Ver /superuser/212896/

editar

Es decir: estos archivos contienen los atributos de archivo extendido ... en.wikipedia.org/wiki/Extended_file_attributes ... y se crearon tan pronto como MacOS dio atributos extendidos a los archivos. Por lo tanto, estos archivos ._ * no se crearon para el archivo tar.

GEdgar
fuente
2
NO, no siempre estuvieron allí, ya que era algo con lo que estaba trabajando anteriormente en ubuntu. Supongo que osx los agrega al explotar el archivo comprimido en el sistema. lo cual, por supuesto, no supe hasta que llevé a un policía a la plataforma de origen. Lo que me gustaría saber es qué los agrega en primer lugar
Dark Star1
1
Estos archivos contienen los atributos del archivo extendido ... en.wikipedia.org/wiki/Extended_file_attributes
GEdgar