Eu tenho um CD gravado físico e a imagem ISO original dele. Nenhum arquivo de soma de verificação de referência foi fornecido para o conteúdo do CD. Como verifico se o CD atual está correto (corresponde à imagem original) e totalmente legível?
10
md5sum
e comparar, se não quiser inicializar o CD / DVD.Respostas:
Primeiro, você copia seu CD para um arquivo temporário:
Então você verifica se
copy.iso
eorig.iso
tem o mesmo tamanho, por exemplo, com:Se o tamanho for idêntico, é fácil:
Mas notei que, em certos casos, o tamanho pode ser ligeiramente diferente porque há zeros à direita na cópia ou na imagem original. Por exemplo, se
copy.iso
for menor queorig.iso
:Obviamente, você também deve verificar se os bytes à direita são apenas zeros:
A primeira linha, exceto o deslocamento, deve ser apenas zeros. A segunda linha deve ser um asterisco. O asterisco é para evitar mostrar linhas idênticas consecutivas.
fonte
head -c $(stat -c %s /path/to/master.iso) /dev/sr0 | sha1sum
para evitar a necessidade de criar uma imagem do CD gravado.Se o arquivo ISO for o mesmo usado para gravar o CD, aqui estão meus dois favoritos:
Compara a imagem gravada com o arquivo de imagem. Se você se sentir um pouco mais masoquista, tente algo assim:
e compare as assinaturas. Esse é mais útil se você já tiver a soma SHA1 em algum lugar. Ambos os comandos lerão o meio até o fim.
Se você quiser fazer da maneira sugerida por Marki555, monte primeiro a unidade óptica e a imagem. Aqui está um script completo: (é claro, você pode dispensar o
sudo
que é root - uma má ideia, em geral)fonte
cmp [-l]
é mais adequado para arquivos binários. Diff funciona melhor em texto.Se você ainda possui o ISO, pode compará-los byte byte usando
cmp
. É um comando bastante simples e sai na primeira diferença que encontra, por isso é consideravelmente mais rápido do que fazer uma soma de verificação se realmente houver um erro no início.Possíveis resultados sobre o sucesso:
&& echo OK
ao comando se a falta de saída o confundir.cmp: EOF on cdrom.iso
: é idêntico, mas o cdrom tem mais bytes que o seu arquivo iso. Isso geralmente ocorre devido ao preenchimento zero no final do cdrom. Como isso não importa na prática, ainda é um sucesso.Resultados possíveis em caso de falha:
cmp: EOF on /dev/cdrom
: por algum motivo, os dados do seu CD-ROM estão incompletos. Talvez o seu ISO fosse muito grande para caber em um CD real./dev/cdrom cdrom.iso differ: byte 18296321, line 71780
: existe alguma diferença inesperada entre o CD-ROM e a imagem ISO.fonte
Você pode verificar se o CD está totalmente legível usando
dd
(por exemplodd if=/dev/cdrom of=/dev/null
). Mas você não pode compará-lo diretamente com uma imagem ISO. Cada software criará um arquivo ISO ligeiramente diferente (talvez alguns cabeçalhos ou preenchimentos diferentes), embora essas imagens ISO diferentes forneçam o mesmo conteúdo do CD (estrutura do diretório, atributos do arquivo e conteúdo do arquivo).Portanto, você só pode montar o CD, montar a imagem ISO e compará-la no nível do sistema de arquivos usando algum tipo de ferramenta de comparação de diretório (desculpe, eu ainda não usei nenhum no linux).
fonte
diff -r
comparará o conteúdo do diretório recursivamente.A Brasero pode fazer isso: Ferramentas -> Verificar integridade ...
fonte