De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Desafio na era do Terabytes.

Colaboração: Fabio Maximo

Data de Publicação: 21 de November de 2008

Desafios da era dos terabytes Fabio Maximo

Esse é um assunto extenso e de varias soluções e metodos possiveis.

Eras passadas

Em 1991 eu estava na IBM, e pude trabalhar na montagem do HDA - Head and Disk Assembly, que era o HD do IBM 3380. Era o estado da arte em armazenamento de dados. Enquanto em um XT podia haver um HD de 40 Mega (Isso mesmo, 40 Megabytes) onde instalava o DOS - e nessa época feliz era quem tinha HD, pois provavelmente você ja bootou um xt pelos discos para então trabalhar nele, em nivel corporativo estavamos acessando um main frame que tinha um HD de 1,5 Gigabytes. Era dificil ter noção de como usar um espaço tão grande. A sala limpa era a menina dos olhos da unidade Hortolandia e era praticamente obrigatorio que todos os visitantes fossem passear pelos corredores laterais e vissem o movimento pelos enormes vidros. Quem lembra dessa época sente saudades. Era fantastico!!

Em casa meu minusculo HD era mais que o suficiente para poucos programas. E nem internet tinha. Bons e aureos tempos do protocolo DPC-DPL (Disquete pra ca / disquete pra lá) ;-)

E nós adoramos dados!! Somos dataholics!!

Os dois fatores principais que nos empurram para o entulhamento digital são dois: Capacidade de armazenamento e banda. Hoje vivemos tempos ainda mais incriveis!! Num pendrive tenho muito mais capacidade de armazenamento que um main frame dos anos 90, e levo no bolso. É possivel armazenar dados nos mais diversos lugares!! Um simples lap top pode ter um HD imenso. E os HDs removiveis então!! Quanta praticidade e capacidade.

Mas como negar?? Eu tambem adoro muitosbytes!! Todos nós adoramos!! São fotos digitais, apostilas, ebooks, apresentações, arquivos de trabalhos da faculdade, musica, videos, revistas em formato digital, documentos diversos, sem falar naquele diretorio de status semelhante a um canivete swiss army, e que tem os mais variados nomes: uteis, downloads, setups, progs, installs, library, binarios, debbies e outros cada vez mais exoticos!!

E aí vem o problema: Nesse paraiso do armazenamento acabamos por ser nada criteriosos no uso de nosso espaço e por fim vamos nos afogar em bytes e mais bytes de dados importantes mesclados a lixo e ficamos cada vez mais entulhandos de lixo digital.

Quem nunca teve parte das suas fotos em um lugar e parte em outro?? Ou teve que juntar os arquivos de e-books e apostilas de varios lugares?? E Agora então com o barateamento dos laptops, parte dos meus arquivos num canto e parte em outro. Acabamos por postergar a tarefa de organizar isso tudo. Quem sabe naquelas ferias que ainda vamos tirar um dia... No fim, fica mais facil adicionar um HD maior e juntar tudo. Mais rápido que dispender interminaveis horas na tentativa de organizar toda essa bagunça.

Bom, aqui não estou postanto uma super solução para resolver todos os problemas. Alias, o que escreverei aqui é tão simples que nem chamo de dica. Mas aqui é algo que atenuou meu problema.

COMBATENDO A DUPLICIDADE

Por muito tempo procurei uma forma de eliminar os arquivos duplicados. As soluções estudadas vão desde olhar manualmente cada diretorio (inviavel) ate ao desenvolvimento de scripts que a principio encontravam os arquivos de mesmo nome e posteriormente comparavam o tamanho e data. Ate que achei o FDUPES numa brincada com o apt-cache. Segue aqui então o uso do programa e meu metodo para ter certeza que não estou perdendo nada, mas tambem não estou guardando nada duplicado.

O fdupes checa o hash dos arquivos e indica onde estão os duplicados. Ainda não usei em todos meus arquivos, porem minhas fotos ja estão organizadas e sem duplicidades.

O uso do fdupes é

  # fdupes [opções] < path> [path]

As opções mais usadas são:

-f faz com que o primeiro arquivo dos duplicados não seja exibido. Util para scripts. Sem esse parametro ele exibe todas ocorrencias.
-d Use apenas se você estiver com tempo de sobra, pois essa opção faz com que que o fdupes questione para cada ocorrencia de duplicidade qual dos arquivos deve ser preservado, apagando os demais daquela ocorrencia.
-r Recursivo - Pesquisa nos subdiretorios tambem.

O Fdupes ira checar os arquivos em um determinado local, mas pode-se passar dois caminhos.

Eu tenho meu repositorio que chamaremos aqui de oficial, e um diretorio temporario onde coloco as "canditadas". Primeiro passo é ter certeza que no candidato eu não tenho duplicidades!! Por isso faço uma pre limpeza. O perigo é ter uma mesma foto duas vezes no candidato e nenhuma no oficial. Acabariamos apagando a mesma do candidato as duas vezes e ficariamos sem ela.

  # fdupes -rf /caminho_candidatos >> fotosduplicadas_candidatas.txt

Neste caso usei as opções r para que ele pesquise recursivamente e tambem a f que faz com que o primeiro arquivo da serie não seja exibido, Assim eu receberei uma listagem de todas duplicadas, menos da primeira ocorrencia, e apago as que estão em duplicidade no diretorio das candidatas (listadas no arquivo).

Eu preciso dar uma jogadinha com o sed para "escapar" os espaços no caminho, e faço isso substituindo os espaços " " por "\ ", para que o rm consiga achar o caminho.

  # cat /fotosduplicadas_candidatas.txt | sed 's/\ /\\ /g'> /fotosduplicadas_candidatasfinal.txt

Apago com o comando abaixo:

  # xargs rm < fotosduplicadas_candidatasfinal.txt

É boa pratica apagar os diretorios vazios.

Vá até o diretorio e execute:

  # rmdir -p `find ./ -type d -empty `

Agora que não temos mais duplicados no diretorio candidato podemos prosseguir. O fdupes ira checar os arquivos destes dois repositorios e então colocara uma entrada por linha no arquivo fotosduplicadas.txt. Sera uma linha para cada arquivo.

  # fdupes -r /caminho_candidatos /caminho_oficiais >> fotosduplicadas.txt

Não quero mexer com as oficiais, portanto...

  # cat fotosduplicadas.txt | grep caminho_candidatos >> /fotosduplicadas2.txt

Novamente eu escapo os espaços do arquivo de saida.

  # cat /fotosduplicadas2.txt | sed 's/\ /\\ /g'> /fotosduplicadas3.txt

Agora é so pegar o arquivo final e jogar no xargs rm.

  # xargs rm < fotosduplicadas3.txt

Tudo o que sobrou no caminho das candidatas, voce não tem no seu oficial. Adeus arquivos duplicados do caminho candidato.

Se voce for mais corajoso, use o fdupes -r -f no seu oficial e voce tera um arquivo sem a primeira ocorrencia, então mate todas as outras. Mas cuidado pois a ordem em que os arquivos são exibidos é aparentemente aleatoria e voce pode acabar ficando com dois "meios diretorios" com os mesmos arquivos.

Agora, vamos ver o que sobrou no diretorio candidato; pra facilitar a analise manual do que restou, é boa pratica apagar os diretorios vazios. Vá até o diretorio e execute:

   # rmdir -p `find ./ -type d -empty `

Essa última tera que ser manualmente mesmo.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Fabio Maximo