Além da resposta de Gilles,
Se você ainda tiver a imagem ISO, poderá usar cmp
em vez de somas de verificação. Ele diria a você em qual byte a diferença acontece. Isso também tornaria a verificação mais rápida, como se houvesse um erro no início, isso diria a você imediatamente, enquanto a soma de verificação sempre precisa ler a mídia inteira.
$ cmp /dev/cdrom /path/to/cdrom.iso
Em caso de erro, deve imprimir algo como isto
/dev/cdrom /path/to/cdrom.iso differ, byte 123456789, line 42
Caso esteja correto, deve imprimir nada , ou isto:
cmp: EOF on /path/to/cdrom.iso
O que significa que há mais dados em /dev/cdrom
do que no ISO, provavelmente com preenchimento zero.
Mesmo antes de começar qualquer comparação, você pode verificar o tamanho.
$ blockdev --getsize64 /dev/cdrom
123456999
$ stat -c %s /path/to/cdrom.iso
123456789
Se for idêntico, a soma de verificação também deve corresponder. Se /dev/cdrom
for maior, ele deve ser preenchido com zeros no final. Você pode verificar isso com hexdump
. Use o tamanho ISO para o parâmetro -s
.
$ hexdump -s 15931539256 -C /dev/cdrom
3b597ff38 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
3b597fff8 00 00 00 00 00 00 00 00 |........|
hexdump
também é útil para ver a diferença em qualquer outra posição em um arquivo, no caso de um dano ter sido causado deliberadamente por algo.