Ich würde nur gerne wissen, warum, wenn ich eine Datei/ein Verzeichnis "tar -czf" einfüge, osx ein: ._ für jede Datei hinzufügt? Ich sehe diese, wenn ich unter Linux entpacke. Oder wenn ich mit dem unkomprimierten Projekt in Eclipse arbeite, da es ihnen überhaupt nicht gefällt. Ich verwende 10.7.5.
tar von OS X verwendet das AppleDouble -Format, um erweiterte Attribute und ACLs zu speichern. tar und Archive Utility wissen auch, wie man die ._-Dateien zurück in die nativen Formate konvertiert, aber die ._-Dateien bleiben erhalten, 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 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
Als erweiterte Attribute gespeicherte Informationen:
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
Diese Dateien waren immer da, aber sie sind im Finder (und den meisten Mac OS-Anwendungen) unsichtbar. Siehe https://superuser.com/questions/212896/
bearbeiten
Das heißt: Diese Dateien enthalten die erweiterten Dateiattribute ... en.wikipedia.org/wiki/Extended_file_attributes ... und sie wurden erstellt, sobald MacOS den Dateien erweiterte Attribute gab. Diese ._*-Dateien wurden also nicht für das tar-Archiv erstellt.
StasM
Graham Perrin
--disable-copyfile