Tar OS X использует формат AppleDouble для хранения расширенных атрибутов и ACL.
$ touch file1 file2 file3
$ xattr -w key value file1
$ chmod +a 'admin allow delete' file2
$ ls -le@ *
-rw-r--r--@ 1 lauri staff 0 May 25 07:09 file1
key 5
-rw-r--r--+ 1 lauri staff 0 May 25 07:09 file2
0: group:admin allow delete
-rw-r--r-- 1 lauri staff 0 May 25 07:09 file3
$ tar -cf 1.tar *
$ tar -tf 1.tar
./._file1
file1
./._file2
file2
file3
Tar OS X также знает, как преобразовать элементы ._ обратно в собственные форматы, но файлы ._ обычно сохраняются при извлечении архивов на других платформах. Вы можете указать tar не включать метаданные, установив для COPYFILE_DISABLE значение:
$ COPYFILE_DISABLE=1 tar -cf 2.tar file*
$ tar -tf 2.tar
file1
file2
file3
- Функции copyfile описаны в
man copyfile
ls -l@
показывает ключи и размеры расширенных атрибутов, ls -le
печатает ACL
xattr -l
перечисляет ключи и значения расширенных атрибутов
xattr -c
очищает все расширенные атрибуты (-d нельзя использовать отдельно)
chmod -N
удаляет ACL
- Zip-файлы, созданные в OS X, используют папку __MACOSX для хранения похожих метаданных
Информация хранится в виде расширенных атрибутов:
- Разветвления ресурсов (разветвления ресурсов были расширены с 10.4)
- Пользовательские иконки, установленные в Finder, и изображения файлов Icon
- Метаданные в PSD файлах
- Объекты, хранящиеся в файлах scpt, состояние окна редактора AppleScript, описания сценариев
- Информация о псевдонимах (псевдонимы перестают работать, если удалены расширенные атрибуты)
- Статус карантина или исходные URL-адреса файлов, загруженных из Интернета
- Прожектор комментирует
- Кодирование файлов, сохраненных с помощью TextEdit
- Положение каретки файлов, открытых с помощью TextMate
- Обезжиренные заметки