O tar do OS X usa o formato AppleDouble para armazenar atributos estendidos e ACLs.
$ 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
O tar do OS X também sabe como converter os membros ._ para os formatos nativos, mas os arquivos ._ geralmente são mantidos quando os arquivos são extraídos em outras plataformas. Você pode dizer ao tar para não incluir os metadados definindo COPYFILE_DISABLE para algum valor:
$ COPYFILE_DISABLE=1 tar -cf 2.tar file*
$ tar -tf 2.tar
file1
file2
file3
- As funções do copyfile são descritas em
man copyfile
-
ls -l@
mostra as chaves e tamanhos dos atributos estendidos,ls -le
imprime ACLs -
xattr -l
lista as chaves e valores dos atributos estendidos -
xattr -c
limpa todos os atributos estendidos (-d não pode ser usado sozinho) -
chmod -N
exclui ACLs - Arquivos zip criados no OS X usam uma pasta __MACOSX para armazenar metadados semelhantes
Informações armazenadas como atributos estendidos:
- Forquilhas de recursos (os garfos de recursos foram estendidos desde 10.4)
- Ícones personalizados definidos no Finder e nas imagens de arquivos Icon \ r
- Metadados em arquivos PSD
- Objetos armazenados em arquivos scpt, estado da janela do Editor AppleScript, descrições de scripts
- Informações sobre aliases (aliases param de funcionar se atributos estendidos forem removidos)
- Status de quarentena ou URLs de origem dos arquivos baixados da internet
- comentários do Spotlight
- Codificação de arquivos salvos com o TextEdit
- Caret posição dos arquivos abertos com o TextMate
- Notas de exame