dlaczego OSX dodaje dodatkowe „._ <nazwa_pliku>”, kiedy taruję katalog?

14

Chciałbym tylko wiedzieć, dlaczego jeśli „tar -czf” plik / katalog, osx dodaje: ._ dla każdego pliku? Widzę je, kiedy rozpakowuję w systemie Linux. Lub kiedy pracuję z nieskompresowanym projektem w zaćmieniu, ponieważ wcale ich nie lubi. Używam 10.7.5.

Dark Star1
źródło

Odpowiedzi:

15

Tar OS OS używa formatu AppleDouble do przechowywania rozszerzonych atrybutów i list ACL. Tar i Archive Utility wiedzą również, jak przekonwertować pliki ._ z powrotem do formatów macierzystych, ale pliki ._ są zachowywane, jeśli archiwum zostanie rozpakowane na innej platformie lub na wolumenie innym niż HFS.

Zwykle możesz po prostu powiedzieć tarowi, aby usunął metadane, ustawiając COPYFILE_DISABLE na pewną wartość:

$ 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

Informacje przechowywane jako atrybuty rozszerzone:

  • Widelce zasobów (od 10.4)
    • Niestandardowe ikony ustawione w Finderze i obrazy plików Icon \ r
    • Metadane w plikach PSD
    • Obiekty skryptów przechowywane w plikach scpt, stan okna AppleScript Editor
  • Informacje o aliasach
  • Status kwarantanny, pobieranie adresów URL
  • Komentarze w centrum uwagi
  • Kodowanie plików zapisanych za pomocą TextEdit
  • Pozycja Caret plików zapisanych za pomocą TextMate
  • Odtłuszczone notatki

Możesz zobaczyć listy ACL z ls -le:

$ ls -led /Applications/
drwxrwxr-x@ 146 root  admin  4964 Jun 17 22:53 /Applications/
 0: group:everyone deny delete
Lri
źródło
Świetna rada na temat COPYFILE_DISABLE, rozwiązała moje problemy z tymi nieprzyjemnymi plikami ._.
StasM,
github.com/libarchive/libarchive/commit/… zwraca uwagę na--disable-copyfile
Graham Perrin
-2

Te pliki zawsze tam były, ale są niewidoczne w Finderze (i większości aplikacji Mac OS). Zobacz /superuser/212896/

edytować

To znaczy: te pliki zawierają rozszerzone atrybuty pliku ... en.wikipedia.org/wiki/Extended_file_attributes ... i zostały utworzone, gdy tylko MacOS nadał plikom rozszerzone atrybuty. Te pliki ._ * nie zostały utworzone dla archiwum tar.

GEdgar
źródło
2
NIE, nie zawsze tam były, ponieważ wcześniej pracowałem nad Ubuntu. Wydaje mi się, że osx dodaje je po rozbiciu skompresowanego pliku na system. czego oczywiście nie wiedziałem, dopóki nie zabrałem gliniarza z powrotem na platformę pochodzenia. Chciałbym wiedzieć, kto dodaje je w pierwszej kolejności
Dark Star1
1
Te pliki zawierają rozszerzone atrybuty plików ... en.wikipedia.org/wiki/Extended_file_attributes
GEdgar