Eu gostaria de saber por que, se eu "tar -czf" um arquivo / diretório, o osx adiciona: ._ para cada arquivo? Eu os vejo quando desarmar no linux. Ou quando eu trabalho com o projeto não compactado no eclipse, pois ele não gosta deles. Eu uso 10.7.5.
Eu gostaria de saber por que, se eu "tar -czf" um arquivo / diretório, o osx adiciona: ._ para cada arquivo? Eu os vejo quando desarmar no linux. Ou quando eu trabalho com o projeto não compactado no eclipse, pois ele não gosta deles. Eu uso 10.7.5.
Respostas:
O tar do OS X usa o formato AppleDouble para armazenar atributos estendidos e ACLs. O tar e o Archive Utility também sabem como converter os arquivos ._ de volta aos formatos nativos, mas os arquivos ._ serão mantidos se o archive for extraído em outra plataforma ou em um volume não HFS.
Você geralmente pode dizer ao tar para remover os metadados configurando COPYFILE_DISABLE com algum valor:
$ 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
Informações armazenadas como atributos estendidos:
Você pode ver ACLs com ls -le
:
$ ls -led /Applications/
drwxrwxr-x@ 146 root admin 4964 Jun 17 22:53 /Applications/
0: group:everyone deny delete
--disable-copyfile
Esses arquivos sempre estavam lá, mas são invisíveis no Finder (e na maioria dos aplicativos Mac OS). Consulte /superuser/212896/
editar
Ou seja: esses arquivos contêm os atributos de arquivo estendidos ... en.wikipedia.org/wiki/Extended_file_attributes ... e foram criados assim que o MacOS atribuiu atributos estendidos aos arquivos. Portanto, esses arquivos ._ * não foram criados para o arquivo tar.