Removendo ._ arquivos do sistema de arquivos não-Mac OS no Dropbox

0

Tendo um Macbook com espaço limitado, comprei uma unidade SSD portátil para manter meus arquivos maiores e minha pasta Dropbox. Isso funciona para a maior parte, no entanto, notei que quando migrei para o sistema de arquivos neste ssd portátil, que agora eu tinha milhares de arquivos ._, essencialmente, um 1to1 ._ para o arquivo real / pasta. Então, se eu tivesse o picture.jpg antes, agora eu também tinha o arquivo de 0 byte ._picture.jpg.

Fazendo algumas pesquisas, descobri que isso tem a ver com o Mac trabalhando com um sistema de arquivos não-journaled e criando esses arquivos por um motivo que eu esqueço agora.

Então comecei a deletar esses arquivos pasta por pasta, mas isso levaria uma eternidade. Eu tenho toneladas de modelos de sites, backups, sites ... literalmente milhares de pequenos arquivos, agora com essas sombras.

Então eu tive que encontrar uma maneira de remover todos esses arquivos. Minha solução está listada como uma resposta abaixo, que forneci na página da comunidade do dropbox. Mas eu queria colocar este item aqui para ver se alguém tinha uma maneira melhor de realizar essa tarefa.

    
por Eric 23.12.2016 / 17:12

2 respostas

1

A maneira como resolvi isso foi primeiro, fazendo uma cópia completa do meu Dropbox para outra unidade. Isso pode ser um processo demorado, pelo menos para mim, porque eu mantenho muitos sites de clientes de consultoria, backups, etc, que levam a milhares de pequenos arquivos. Com a adição de todos os arquivos ._, ele duplicou. Minha contagem de arquivos estava na faixa de 300.000+. No entanto, depois de fazer o backup, podemos prosseguir.

Lembre-se, este plano pressupõe que você use SOMENTE a unidade removível em um Mac . Se você precisar compartilhar entre sistemas de arquivos, duvido que isso funcione. Eu simplesmente uso o próprio aplicativo Dropbox para gerenciar isso em outros dispositivos, em vez de precisar de um sistema de arquivos completo.

  1. Feche o aplicativo do Dropbox, se estiver em execução.
  2. Faça backup de sua caixa de depósito em outra unidade (potencialmente demorada) e incluirá os arquivos ._ temidos.
  3. Para fins de integridade, confirme seu backup, talvez usando um utilitário / aplicativo de comparação de pastas.
  4. Formate sua unidade removível para o sistema de arquivos com registro no diário do mac. Estou usando um Samsung Portable SSD T3 1TB, formatado em uma partição segura do Mac OS Extened (Journaled, Encrypted).
  5. Quando o novo volume estiver pronto, abra-o no Finder.
  6. Copie seu backup para uma pasta do Dropbox
  7. Abra o Terminal.
  8. Mude o diretório para a pasta Dropbox do seu novo volume, o meu é o PSSSD / Dropbox, então o comando era:

    cd /Volumes/PSSSD/Dropbox

  9. Estando nervoso com o que eu estava prestes a fazer com uma exclusão em massa, eu queria obter um "WhatIf" (referência do PowerHell), então vamos fazer um achado sem remover. Minha lista era enorme, então eu joguei em um arquivo. O primeiro comando abaixo é enviado para o terminal, segundo para um arquivo.

    find . -name '._*' find . -name '._*' > ~/Desktop/DropBox_filestodelete.txt

  10. Revise a lista. Eu tinha um monte de coisas em uma pasta ".dropboxcache" que eu não tinha certeza se eu deveria excluir ou não, mas apostar que o cache seria apenas regenerado se necessário, eu decidi ir em frente e deixar excluir.
  11. Aqui está um comando que encontrará tudo com ._ como o começo de um arquivo. Observe que, se você tiver arquivos reais de importância que tenham esse mesmo padrão, eles serão excluídos e você precisará copiá-los do backup para recuperá-los. o "rm -fv" é o que remove o arquivo como ele é encontrado. O f de -fv é para excluir sem avisar ( dangerous ), e o v do -fv é para verbose porque eu quero registrar todos os arquivos que eu deletei para referência.

    find . -name '._*' -exec rm -fv {} \; >> ~/Desktop/filesdeletedoutput.txt

  12. Esse comando de exclusão pode levar algum tempo. Na verdade, eu parei o meu duas vezes com CTRL-C, mas depois de analisar o arquivo de log, descobri que ele ainda estava funcionando e eu estava apenas internado.
  13. Os arquivos de log devem estar em sua área de trabalho, caso você ainda não tenha percebido.
    Agora inicie o backup do aplicativo dropbox.
  14. Se você usou o mesmo nome para o Volume e a Pasta formatados como sua pasta anterior do Dropbox, o Dropbox provavelmente iniciará "Sincronizando" e "Indexando".

Isso levará algum tempo. Eu tive um problema ao mover minha pasta dropbox uma vez onde ela não permitia que eu selecionasse uma pasta com uma pasta do Dropbox, mas de alguma forma consegui contornar isso cancelando um dos avisos / prompts e indo para o Settings / Preferências do Dropbox.

Você deve eventualmente ter o Dropbox de volta ao par, sem todos os arquivos ._ irritantes. Volto a avisá-lo novamente quando usar o rm -fv ou rm-rf, pois ele será excluído sem aviso prévio e acredito ignorar a lixeira ou lixeira.

    
por 23.12.2016 / 17:19
0

O sistema operacional do macOS inclui o comando dot_clean , que atende aos problemas descritos na sua pergunta. A página man do macOS 10.13.3 (High Sierra) é fornecida abaixo.

DOT_CLEAN(1)              BSD General Commands Manual             DOT_CLEAN(1)

NAME
     dot_clean -- Merge ._* files with corresponding native files.

SYNOPSIS
     dot_clean [-fmnsv] [--keep=[mostrecent|dotbar|native]] [dir ...]

DESCRIPTION
     For each dir, dot_clean recursively merges all ._* files with their cor-
     responding native files according to the rules specified with the given
     arguments.  By default, if there is an attribute on the native file that
     is also present in the ._ file, the most recent attribute will be used.

     If no operands are given, a usage message is output.  If more than one
     directory is given, directories are merged in the order in which they are
     specified.

OPTIONS
     -f      Flat merge.  Do not recursively merge all directories in the
             given dir.  This is off by default.

     -h      Help. Prints verbose usage message.

     -m      Always delete dot underbar files.

     -n      Delete dot underbar file if there is no matching native file.

     -s      Follow symbolic links.  This will follow symbolic dot underbar
             files when they are found.

     -v      Print verbose output.

     --keep=mostrecent
             The default option.  If an attribute is associated with a data
             fork, use that.  Otherwise, use information stored in the Apple-
             Double file.  Note that the native fork's data is preferred even
             if the data in the AppleDouble file is newer.

     --keep=dotbar
             Always use information stored in the AppleDouble file, replacing
             any extended attributes associated with the native file.

     --keep=native
             Always use the information associated with the data fork, ignor-
             ing any AppleDouble files.

EXAMPLES
     The following is how to do an dot_clean merge on the mounted volume test,
     always using the dot underbar information.

           dot_clean --keep=dotbar /Volumes/test

DIAGNOSTICS
     The dot_clean utility exits 0 on success, and >0 if an error occurs.

BUGS
     None known.

BSD                              Sept 27, 2012                             BSD
    
por 02.03.2018 / 21:51