Warum fügt OSX zusätzlich '._ <Dateiname>' hinzu, wenn ich ein Verzeichnis tariere?

14

Ich möchte nur wissen, warum, wenn ich eine Datei / ein Verzeichnis "tar -czf", osx eine: ._ für jede Datei hinzufügt ? Ich sehe diese, wenn ich unter Linux entpacke. Oder wenn ich mit dem unkomprimierten Projekt in Eclipse arbeite, weil es sie überhaupt nicht mag. Ich benutze 10.7.5.

Dunkler Stern1
quelle

Antworten:

15

OS X tar verwendet das AppleDouble- Format, um erweiterte Attribute und ACLs zu speichern. tar und Archive Utility können auch die ._-Dateien wieder in die nativen Formate konvertieren. Die ._-Dateien werden jedoch beibehalten, wenn das Archiv auf einer anderen Plattform oder auf einem Nicht-HFS-Volume extrahiert wird.

Normalerweise können Sie tar einfach anweisen, die Metadaten zu entfernen, indem Sie COPYFILE_DISABLE auf einen bestimmten Wert setzen:

$ 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

Informationen, die als erweiterte Attribute gespeichert werden:

  • Ressourcengabeln (seit 10.4)
    • Im Finder festgelegte benutzerdefinierte Symbole und die Bilder von Icon \ r-Dateien
    • Metadaten in PSD-Dateien
    • In scpt-Dateien gespeicherte Skriptobjekte, Status des AppleScript-Editors
  • Informationen zu Aliasen
  • Quarantänestatus, URLs herunterladen
  • Spotlight-Kommentare
  • Kodierung von mit TextEdit gespeicherten Dateien
  • Position der mit TextMate gespeicherten Dateien
  • Anmerkungen überfliegen

Sie können ACLs anzeigen mit ls -le:

$ ls -led /Applications/
drwxrwxr-x@ 146 root  admin  4964 Jun 17 22:53 /Applications/
 0: group:everyone deny delete
Lri
quelle
Ein toller Rat für COPYFILE_DISABLE, der meine Probleme mit diesen fiesen ._-Dateien gelöst hat.
StasM
github.com/libarchive/libarchive/commit/… macht darauf aufmerksam--disable-copyfile
Graham Perrin
-2

Diese Dateien waren immer vorhanden, sind jedoch in Finder (und den meisten Mac OS-Anwendungen) nicht sichtbar. Siehe /superuser/212896/

bearbeiten

Das heißt: Diese Dateien enthalten die erweiterten Dateiattribute ... en.wikipedia.org/wiki/Extended_file_attributes ... und wurden erstellt, sobald MacOS den Dateien erweiterte Attribute gab. Daher wurden diese ._ * -Dateien nicht für das tar-Archiv erstellt.

GEdgar
quelle
2
NEIN, sie waren nicht immer da, da ich vorher an Ubuntu gearbeitet habe. Ich vermute, dass osx sie beim Auflösen der komprimierten Datei auf das System hinzufügt. was ich natürlich nicht wusste, bis ich einen Polizisten auf die Ursprungsplattform zurückbrachte. Was ich wissen möchte, ist, wenn es sie an erster Stelle hinzufügt
Dark Star1
1
Diese Dateien enthalten die erweiterten Dateiattribute ... en.wikipedia.org/wiki/Extended_file_attributes
GEdgar