pourquoi OSX ajoute-t-il «._ <nomfichier>» supplémentaire lorsque je tar un répertoire?

14

Je voudrais juste savoir pourquoi si je "tar -czf" un fichier / répertoire, osx ajoute un: ._ pour chaque fichier? Je les vois lorsque je décompresse sous Linux. Ou quand je travaille avec le projet non compressé dans Eclipse car il ne les aime pas du tout. J'utilise 10.7.5.

Dark Star1
la source

Réponses:

15

Le tar d'OS X utilise le format AppleDouble pour stocker les attributs étendus et les listes de contrôle d'accès. tar et Archive Utility savent également comment reconvertir les fichiers ._ aux formats natifs, mais les fichiers ._ sont conservés si l'archive est extraite sur une autre plate-forme ou sur un volume non HFS.

Vous pouvez généralement dire à tar de supprimer les métadonnées en définissant COPYFILE_DISABLE sur une valeur:

$ 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

Informations stockées en tant qu'attributs étendus:

  • Fourches de ressources (depuis 10.4)
    • Icônes personnalisées définies dans le Finder et les images des fichiers Icon \ r
    • Métadonnées dans les fichiers PSD
    • Objets de script stockés dans des fichiers scpt, état de la fenêtre de l'éditeur AppleScript Editor
  • Informations sur les alias
  • Statut de quarantaine, URL de téléchargement
  • Commentaires Spotlight
  • Encodage de fichiers enregistrés avec TextEdit
  • Position au curseur des fichiers enregistrés avec TextMate
  • Notes écrémées

Vous pouvez voir les ACL avec ls -le:

$ ls -led /Applications/
drwxrwxr-x@ 146 root  admin  4964 Jun 17 22:53 /Applications/
 0: group:everyone deny delete
Lri
la source
De bons conseils sur COPYFILE_DISABLE, ont résolu mes problèmes avec ces fichiers ._ désagréables.
StasM
github.com/libarchive/libarchive/commit/… attire l'attention sur--disable-copyfile
Graham Perrin
-2

Ces fichiers ont toujours été là, mais ils sont invisibles dans le Finder (et la plupart des applications Mac OS). Voir /superuser/212896/

Éditer

Autrement dit: ces fichiers contiennent les attributs de fichier étendus ... en.wikipedia.org/wiki/Extended_file_attributes ... et ils ont été créés dès que MacOS a donné des attributs étendus aux fichiers. Ces fichiers ._ * n'ont donc pas été créés pour l'archive tar.

GEdgar
la source
2
NON, ils n'étaient pas toujours là car c'était quelque chose avec lequel je travaillais auparavant sur Ubuntu. Je suppose que osx les ajoute lors de l'explosion du fichier compressé sur le système. ce que bien sûr je ne savais pas jusqu'à ce que je ramène un flic sur la plate-forme d'origine. Ce que j'aimerais savoir, c'est s'il les ajoute en premier lieu
Dark Star1
1
Ces fichiers contiennent les attributs de fichier étendus ... en.wikipedia.org/wiki/Extended_file_attributes
GEdgar