¿por qué OSX agrega '._filename' extra cuando hago un directorio?

14

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

    
pregunta Dark Star1 26.12.2012 - 18:34

2 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 ._ de nuevo a los formatos nativos, pero los archivos ._ se guardan si el archivo se extrae en otra plataforma o en un volumen no HFS.

Por lo general, simplemente puede decirle 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)
    • Los iconos personalizados establecidos en el Finder y las imágenes de los archivos de Icon
    • 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, descargar URL
  • Comentarios de Spotlight
  • Codificación de archivos guardados con TextEdit
  • Posición de los archivos guardados con TextMate
  • notas desnatadas

Puedes 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
    
respondido por el user495470 27.12.2012 - 17:46
-2

Esos archivos siempre estuvieron allí, pero son invisibles en el Finder (y en la mayoría de las aplicaciones de Mac OS). Consulte enlace

editar

Es decir: estos archivos contienen los atributos de archivo extendidos ... 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.

    
respondido por el GEdgar 26.12.2012 - 19:06

Lea otras preguntas en las etiquetas