perché OSX aggiunge '._ <nomefile>' extra quando taro una directory?


14

Vorrei solo sapere perché se "tar -czf" un file / directory, osx aggiunge un: ._ per ogni file? Vedo questi quando scompare in Linux. O quando lavoro con il progetto non compresso in eclissi in quanto non gli piacciono affatto. Uso 10.7.5.

Risposte:


15

Il tar di OS X utilizza il formato AppleDouble per memorizzare attributi e ACL estesi. tar e Archive Utility sanno anche come riconvertire i file ._ nei formati nativi, ma i file ._ vengono mantenuti se l'archivio viene estratto su un'altra piattaforma o su un volume non HFS.

Di solito puoi semplicemente dire a tar di rimuovere i metadati impostando COPYFILE_DISABLE su un valore:

$ 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

Informazioni archiviate come attributi estesi:

  • Forchette di risorse (dal 10.4)
    • Icone personalizzate impostate nel Finder e le immagini dei file Icon
    • Metadati nei file PSD
    • Oggetti script memorizzati in file scpt, stato della finestra dell'Editor AppleScript
  • Informazioni sugli alias
  • Stato di quarantena, URL di download
  • Commenti in primo piano
  • Codifica dei file salvati con TextEdit
  • Posizione di cura dei file salvati con TextMate
  • Note di scrematura

Puoi vedere gli ACL con ls -le:

$ ls -led /Applications/
drwxrwxr-x@ 146 root  admin  4964 Jun 17 22:53 /Applications/
 0: group:everyone deny delete

Ottimi consigli su COPYFILE_DISABLE, risolto i miei problemi con quei cattivi file ._.
StasM,

github.com/libarchive/libarchive/commit/… attira l'attenzione su--disable-copyfile
Graham Perrin,

-2

Quei file erano sempre lì, ma sono invisibili in Finder (e nella maggior parte delle applicazioni Mac OS). Vedi /superuser/212896/

modificare

Cioè: questi file contengono gli attributi di file estesi ... en.wikipedia.org/wiki/Extended_file_attributes ... e sono stati creati non appena MacOS ha dato gli attributi estesi ai file. Quindi questi file ._ * non sono stati creati per l'archivio tar.


2
No, non sono sempre stati lì perché era qualcosa con cui stavo lavorando in precedenza su Ubuntu. Immagino che osx li aggiunga quando esplode il file compresso sul sistema. che ovviamente non sapevo fino a quando non ho riportato uno sbirro sulla piattaforma di origine. Quello che mi piacerebbe sapere è che li aggiunge in primo luogo
Dark Star1,

1
Questi file contengono gli attributi di file estesi ... en.wikipedia.org/wiki/Extended_file_attributes
GEdgar,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.