Pare o Finder / OSX de criar TemporaryItems e .apdisk em compartilhamentos de rede

16

Eu estou procurando alguma maneira de configurar OSX para evitar que a criação de .apdisk arquivos e .TemporaryItems pastas em compartilhamentos de rede.

Eles são criados sempre que o OSX acessa uma pasta compartilhada na rede.

Na pesquisa, algumas soluções possíveis que encontrei incluem:

  • Parar de usar o aplicativo (localizador)
  • Marcar os compartilhamentos como somente leitura
  • Ignore-os
  • Use software de terceiros (como BlueHarvest ) para remover os arquivos.
  • Agende um script cron para excluir esses arquivos.

Infelizmente, as três primeiras opções não são viáveis ​​para mim e eu prefiro não ter que comprar licenças ou agendar limpezas nos servidores de arquivos.

Existe uma maneira de configurar o OSX para não criá-los em primeiro lugar?

(O Finder está se conectando via AFP aos compartilhamentos de rede, pelo que vale a pena)

Editar aproximadamente 1 ano depois: observe que não estou procurando uma solução de limpeza.

O BlueHarvest (se você tiver um Mac para executá-lo) e os scripts de limpeza agendada são bons - mas menos do que o ideal. Eu realmente preciso de uma solução que impeça o OSX de criar esses arquivos em primeiro lugar.
Neste momento, parece que a Apple não fornece uma opção de configuração que é decepcionante.


fonte
Com que tipo de servidor você está se conectando? OS X ou algo mais? Além disso, por que você não deseja os arquivos - suponho que clientes não mac nesses compartilhamentos?
Snakechowder
Todos os tipos de servidores - não importa. E sim, eu não os quero por causa de clientes não-mac e pela poluição geral das ações.
ESTÁ BEM. Eu tenho o mesmo problema, mas minha solução não está dentro dos seus parâmetros; Eu corro dot_clean (1) do cron no (s) cliente (s) / suprimo a criação no servidor.
Snakechowder

Respostas:

5
  1. Terminal aberto.
  2. Execute este comando: defaults write com.apple.desktopservices DSDontWriteNetworkStores true
  3. Reinicie o computador ou efetue logout e faça login novamente na conta de usuário.

Referência: http://support.apple.com/kb/HT1629

jnovack
fonte
3
Ah, infelizmente, isso apenas impede que os arquivos .DS_Store sejam criados, não impede que pastas .TemporaryItems e arquivos .APDisk sejam criados.
#blameapple Nada que eu possa fazer. :(
jnovack
3

Se você estiver executando compartilhamentos de arquivos do Windows no Windows Server 2003 R2 e posterior, poderá criar triagens de arquivos que impeçam qualquer usuário de criar qualquer conjunto de arquivos pré-especificados.

Eu efetivamente usei essa abordagem para eliminar todos os arquivos criados por mac em nossos compartilhamentos de arquivos.

Consulte o documento MS Technet, Screening Files , para obter mais informações.

Jorge Henriquez
fonte
Oh, uau - essa é uma solução interessante. Não tinha idéia de que existiam telas de arquivo.
3

Embora isso possa não ajudar a todos, se você estiver executando o samba no servidor de arquivos, poderá adicionar o seguinte no seu smb.conf:

Veto files = /.TemporaryItems/._.TemporaryItems/.DS_Store/

Os "arquivos de veto" são uma sequência de nomes de arquivos / separados (caracteres curinga também são permitidos) que são proibidos de serem criados. Isso resolveu o problema para mim.

Encontrei esse truque no wiki do samba do Arch Linux

Martin Olika
fonte
Eu usei algo semelhante há alguns anos, tive que desativá-lo porque algumas versões do MacOS X se recusavam a se conectar ao compartilhamento ou tinham problemas aleatórios com ele (não lembro exatamente, era por volta de 2010 ...). Não tenho certeza do que acontece com as versões atuais.
Ale
2

O BlueHarvest é provavelmente a melhor e mais fácil maneira de manter os compartilhamentos de rede limpos, pelo menos foi o que eu busquei depois de tomar a maioria de suas opções.

Depois disso, é um trabalho cron para excluir todos esses arquivos, usando algo como:

find "$@" \( -name ".DS_Store" -or -name ".TemporaryItems" -or -name ".Trashes" -or -name "._*" \) -exec rm -rf "{}" \; -prune 
acseven
fonte
BlueHarvest e um cronjob já foram mencionados como formas não preferidas de lidar com isso.
Oi! Eu acho que você mencionou isso, mas minha resposta serviu precisamente ao ponto de dar uma recomendação da minha experiência anterior (e atual). Ainda tenho o BlueHarvest instalado para obter exatamente o que você precisa, depois de tentar outras soluções semelhantes às mencionadas, mas nenhuma com a mesma taxa de sucesso. Ou seja, ainda é a minha melhor recomendação e no meu pov vale o custo.
acseven
Obrigado - fico feliz que você ache o BlueHarvest valioso e tenho certeza que outras pessoas acharão o script que você forneceu útil no agendamento de limpezas. Nem atenda ao requisito de configurar o OSX para não criá-los em primeiro lugar. O BlueHarvest em particular, independentemente do preço, não é útil para minha situação - exigiria a compra de um mac, que não é econômico. Até que a Apple forneça uma opção de configuração para suprimir isso, a questão permanecerá aberta.
0

O sshfs tem uma opção noappledouble que impede pelo menos .Spotlight-V100de ser criada nos meus testes (muito limitados) ...

mkdir -p /Volumes/user && /usr/local/bin/sshfs \
    -o volname=user,local,cache=no,allow_root,noappledouble,defer_permissions,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3 \
    [email protected]:/mnt/tank/homes/user \
    /Volumes/user

Se o uso de sshfs for uma opção, você poderá considerar esta solução.

leoj
fonte