O problema básico é que queremos pegar o md5sum da mesma informação que estava originalmente na ISO. Quando você escreve o ISO em um CD, provavelmente há espaço em branco no final do disco, o que inevitavelmente muda o md5sum. Assim, o caminho mais curto:
md5sum /dev/cdrom
não funciona . O que funciona (e é comum na documentação online ) é apenas ler o número exato de bytes do dispositivo e, em seguida, fazer o %código%. Se você sabe o número de bytes, você pode fazer algo como:
dd if=/dev/cdrom bs=1 count=xxxxxxxx | md5sum
em que 'xxxxx' é o tamanho da iso em bytes.
Se você não sabe o número de bytes, mas ainda tem a iso em seu disco, você pode obtê-los usando ls fazendo algo como o seguinte ( tirado daqui ):
dd if=/dev/cdrom | head -c 'stat --format=%s file.iso' | md5sum
Existem muitas outras construções de uma linha que devem funcionar. Observe que, em cada caso, estamos usando md5sum
para ler os bytes do disco, mas não estamos canalizando-os para um arquivo, em vez disso, estamos entregando-os ao md5sum imediatamente.
Possíveis melhorias de velocidade podem ser feitas fazendo alguns cálculos para usar um tamanho de bloco maior (o dd
no comando bs=
).