Desativar a criação de arquivos .AppleDouble no Mac OS X

19

Existe uma maneira de desativar a criação de arquivos .AppleDouble no Mac OS X (Snow Leopard) em sistemas de arquivos não HFS (como compartilhamentos de rede SMB ou NFS etc ...)?

Bart
fonte
11
Forneça mais informações. Eles geralmente não são criados no HFS +.
Daniel Beck

Respostas:

7

Como os Macs suportam vários garfos nos arquivos, o truque AppleDouble ( ._arquivos) tenta preservar os dados nesses garfos. Portanto, eles são necessários para que o Mac OS X possa executar operações neles.

No entanto, a maioria dos arquivos é criada quando o mesmo volume é montado no AFP, não no SMB / CIFS ou NFS. Nesse caso, o servidor AFP pode ter opções de configuração para lidar com os arquivos Apple Double (consulte, por exemplo, esta postagem do blog ).

Para se livrar dos arquivos AppleDouble, você pode em um Mac o dot_cleancomando:

dot_clean --keep=dotbar /Volumes/mounted_smb_volume

onde mounted_smb_volumeseria o nome do volume montado.

Você pode adicioná-lo a uma crontabentrada ou, melhor ainda, usar algo como o Lingon X para criar uma launchdentrada.

suculento
fonte
Isso funcionou para você, @Bart? Você poderia considerar marcando-a como a solução certa 😉
juandesant
Usei isso em um cartão SD e o conteúdo não pode mais ser visualizado com o Finder, apenas visível no terminal com ls.
FRIdSUN 21/03
@FridSUN, tente ejetar e montar o volume novamente, não faz sentido que eles permaneçam invisíveis no Finder ... a menos que você tenha arquivos que começam com ponto (.) Ou que tenha marcado esse volume como invisível.
juandesant
A pergunta é sobre arquivos chamados .AppleDouble, não arquivos começando._
parar de prejudicar Monica
AppleDouble é uma codificação para metadados, @OrangeDog; veja, por exemplo, icesquare.com/wordpress/how-to-remove-ds_store-and-appledouble Os metadados codificados pela AppleDouble estão na forma de ._arquivos.
juandesant
4

http://support.apple.com/kb/HT1629 diz que isso pode ser feito via

Para configurar uma conta de usuário do Mac OS X para que os arquivos .DS_Store não sejam criados ao interagir com um servidor de arquivos remoto usando o Finder, siga as etapas abaixo:

Nota: Isso afetará as interações do usuário com os servidores SMB / CIFS, AFP, NFS e WebDAV.

Open Terminal.
Execute this command:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

Either restart the computer or log out and back in to the user account.
Layticia
fonte
3
Parece não funcionar para .AppleDoublearquivos.
27612 Adam
4
Definitivamente, isso se aplica apenas a .DS_Store e não a .AppleDouble.
Asher
3

Os arquivos AppleDouble (aqueles denominados ._filename) são criados quando você copia um arquivo que contém uma bifurcação de recursos em um sistema de arquivos não HFS.

Às vezes (mas nem sempre) o recurso que você pode gerenciar sem os dados da bifurcação de recursos - por exemplo, copiar um arquivo mp3.

Você pode suprimir a cópia da bifurcação de recursos se usar um shell (não o localizador) usando:

cp -X
Howard
fonte
2
Esta não é uma solução geral.
27612 Adam
Para esclarecer por que essa não é uma solução geral, isso se aplica apenas ao copiar manualmente arquivos da linha de comando. É improvável que tenha qualquer relação com o problema, pois os arquivos .AppleDouble são criados sempre que um arquivo é acessado em um volume não HFS +. Mesmo que você possa copiar sem a bifurcação de recursos, isso aborda apenas um caso especial e não o problema geral de não querer arquivos .AppleDouble.
Asher
A pergunta é sobre arquivos chamados .AppleDouble, não arquivos começando._
parar de prejudicar Monica
1

Você pode usar o BlueHarvest para excluir automaticamente arquivos AppleDouble ou outros arquivos criados pelo OS X:

Você pode usar find . -name ._\* -deletepara excluir ._arquivos recursivamente no diretório atual. dot_clean -m .também tem o mesmo efeito.

Os arquivos iniciados com ._são usados ​​para armazenar metadados, como atributos estendidos e ACLs. Atributos estendidos incluem bifurcações de recursos ( com.apple.ResourceFork) e sinalizadores de arquivo ( com.apple.FinderInfo). Você pode ver atributos estendidos com xattr -lou ACLs com ls -le. Você pode usar xattr -cpara limpar todos os atributos estendidos ou chmod -Nexcluir ACLs e copiar arquivos sem os atributos estendidos cp -X.

Lri
fonte
1

Existe uma ferramenta chamada "dsweeper" disponível aqui: https://github.com/simsalabim/dsweeper Ele resolve o problema (uma vez instalado) com um simples

$ dsweeper -d -p /Path/to/volume/

A partir do site:

Uma ferramenta que não permite que AppleDouble ._qualquer arquivo na pasta que é mantida no disco rígido externo. Ajuda a manter o Dropbox limpo.

Via homebrew, a instalação é notavelmente simples:

$ brew install npm

$ npm install dsweeper -g

Resolveu o problema para mim como um encanto.

unJordi
fonte
-1

Penso que parte da pergunta é: por que você deseja eliminar os arquivos .AppleDouble?

Os arquivos .AppleDouble são criados para armazenar recursos adicionais de arquivos (metadados, etc.). Os sistemas de arquivos HFS + (projetados pela Apple) possuem meios nativos para lidar com o armazenamento dessas informações. Os sistemas de arquivos não HFS + (NTFS, EXT3 / 4 etc.) veiculados no compartilhamento de arquivos (Netatalk, SMB etc.) requerem alguma maneira de armazenar essas informações. Isso é conseguido através da criação de arquivos adicionais no sistema de arquivos, já que o sistema de arquivos não possui meios nativos para armazenar as informações.

Ao contrário dos arquivos .DS_Store (que, pelo que entendi, armazenam detalhes da área de trabalho, como local do ícone etc.), os arquivos .AppleDouble realmente armazenam informações potencialmente relevantes. Isso significa que você provavelmente pode excluir os arquivos .AppleDouble e o sistema operacional não irá reclamar, mas você poderá perder metadados, se houver algum associado ao arquivo. Isso também inclui metadados criados pelo / para o Spotlight, como quando o iTunes reproduz um arquivo. A exclusão dessas informações dificilmente prejudicará qualquer coisa, mas está sendo criada / armazenada para você, para que o sistema operacional possa otimizar a pesquisa e outros termos.

Portanto, minha conclusão é que você provavelmente não deseja excluir .AppleDouble. Mas talvez os detalhes possam ser preenchidos? Cheguei a esse tópico tentando ajudar meu pai com dois ReadyNAS; ele queria eliminar os arquivos porque a existência deles era inexplicável e causava um comportamento estranho com o programa de backup ReadyNAS (que parece ser resolvido usando o rsync). Informe-me se houver mais detalhes não abordados nas minhas conclusões aqui.

Asher
fonte
2
Minha razão é que essas pastas .AppleDouble nos diretórios do meu NAS impedem que minhas máquinas Windows excluam esses diretórios. Ter que fazer login no NAS e usar o navegador de arquivos baseado na Web é realmente irritante.
Simon Gill
Eu votei contra isso porque acredito que ele contém algumas informações erradas. Aparentemente, nenhum sistema de arquivos que não seja HFS + pode armazenar metadados? Isso está incorreto, o NTFS suporta metadados de arquivo, apenas que a Apple não interage com ele corretamente e cria um arquivo básico.
Leinad13
2
Minha razão é que o aparelho de som do carro tenta reproduzir arquivos ._XYZ.MP3 do meu pen drive (FAT32) e queixa-se ferozmente. Então, eu vim com um pouco de AppleScript para remover os arquivos ._ ao ejetar o volume.
Joe Völker
O NTFS não suporta os metadados da Apple e a Apple não grava nos metadados do NTFS. O resultado é que a descrição na resposta original é precisa. "Desinformação" é apenas a partir da interpretação incorreta a que "isso" se refere e assumindo que se refere aos metadados como tais.
Asher