Verificando a integridade de um arquivo que foi transferido de um meio não confiável

0

Estou tentando transferir uma grande quantidade de arquivos de vídeo doméstico para / de um disco rígido externo de 1 TB. este disco rígido foi comprado do walmart por US $ 70 e é a maior dor de cabeça que eu já experimentei. ele gosta de desconectar aleatoriamente no meio do que está fazendo. Infelizmente, é a única coisa que tenho que pode transferir tantos dados para outro PC (sem dedicar muito tempo ao esforço).

Então, como posso verificar a integridade dos arquivos no HD e depois transferi-los para o segundo PC? Existe mesmo uma maneira de fazer isso sem realmente assistir ou codificá-los de forma redundante? Como eu disse, eles são arquivos de vídeo (.avi).

Eu preferiria um método que seja distro-independente, já que tudo isso vem do fato de eu estar mudando do Kubuntu para o Arch. Eu poderia trabalhar com os arquivos de uma ISO ao vivo, se necessário, mas preferiria se eu não tivesse que fazer isso

EDITAR

Devo esclarecer que os arquivos estão atualmente no HD interno do laptop em que estou digitando ... eles serão transferidos para um HD externo e depois para outro HD interno

    
por Konner Rasmussen 14.04.2014 / 23:47

1 resposta

3

No disco de origem, gere hashes md5:

md5sum *.avi >my_avi_files.md5

Isso gerará um arquivo com uma linha para cada arquivo. Cada linha contém o md5sum e o nome do arquivo. Um exemplo de tal arquivo é:

58ba3b679b03c1deb6e30918311af726  boxed-correct.avi
cecfda865db60d3cf09a68c7f2030e9e  boxed-delete.avi
c373735b9c231d86244b28f3be9403e8  boxed-join.avi
63c3a103071507aa90b1353f42eead8d  boxed-split.avi

No disco de destino, verifique a integridade executando:

md5sum -c  my_avi_files.md5

Isso verificará cada arquivo listado em my_avi_files.md5 individualmente.

E os subdiretórios?

Como exemplo de como trabalhar com arquivos em subdiretórios, use isso no diretório de origem:

md5sum *.avi */*.avi >my_avi_files.md5

Isso pode produzir uma saída como:

a99f357d1f52eb8437e0572e98ebb012  FlickAnimation.avi
58ba3b679b03c1deb6e30918311af726  en-US/boxed-correct.avi
cecfda865db60d3cf09a68c7f2030e9e  en-US/boxed-delete.avi

No diretório de destino, a verificação é feita da mesma maneira:

md5sum -c  my_avi_files.md5

Ao fazer essa verificação, md5sum espera encontrar os mesmos arquivos nos mesmos subdiretórios. Se você alterou os nomes dos subdiretórios, poderá editar o arquivo my_avi_files.md5 e atualizar os caminhos usando qualquer editor de texto normal.

Se seus arquivos estiverem distribuídos em muitos níveis de subdiretórios, use find :

find . -name '*.avi' -type f -exec md5sum {} + >my_avi_files.md5

Alternativas para md5

Embora o md5 tenha sido o padrão para esse tipo de verificação, outra opção é sha1sum . Funciona da mesma maneira:

sha1sum *.avi >my_avi_files.sha1
sha1sum -c my_avi_files.sha1

sha1 oferece melhor proteção contra os black hats que tentam falsificar arquivos.

    
por 14.04.2014 / 23:54