CD / DVD의 md5sum 계산 합계를 확인하는 데 사용할 수있는 해시 합계를

CD에 구운 ISO 파일이 있습니다. 이제 CD가 올바르게 작성되었는지 어떻게 확인할 수 있습니까? ISO 파일에서 계산 한 해시 합계를 확인하는 데 사용할 수있는 해시 합계를 계산하는 명령을 원합니다. 이상적으로 명령은 다음과 같아야합니다.

  • ISO 파일에 관계없이 작업하십시오. 즉, 디스크의 각 파일에 대한 해시 합계 목록을 유지하거나 블록 수를 기억하고 싶지 않습니다.
  • 한 줄 명령은 훌륭하고 두 줄 길이의 명령 체인은 괜찮습니다. 한 페이지에 걸친 스크립트는 그렇지 않습니다.
  • 예를 들어, dd디스크를 파일로 되 돌린 다음 파일에서 실행 md5sum하는 것은 허용되지 않습니다.

모든 것을 만족시킬 수없는 답변이 없다면 가장 가까운 경기도 감사하겠습니다. 왜 그렇게 간단하지 않은지 말해 주시면 더 좋습니다.



답변

기본적인 문제는 원래 ISO에 있었던 것과 동일한 정보의 md5sum을 가져오고 싶다는 것입니다. ISO를 CD에 쓰면 디스크 끝에 빈 공간이 생겨 필연적으로 md5sum이 변경됩니다. 따라서 가장 짧은 방법 :

md5sum /dev/cdrom

작동하지 않습니다 . 작동하는 것은 온라인 설명서 에서 일반적이며 장치에서 정확한 바이트 수를 읽은 다음을 수행하는 것 md5sum입니다. 바이트 수를 알고 있으면 다음과 같이 할 수 있습니다.

dd if=/dev/cdrom bs=1 count=xxxxxxxx | md5sum

여기서 ‘xxxxx’는 iso의 크기 (바이트)입니다.

사용중인 바이트 수를 모르지만 디스크에 iso가 여전히 있으면 ls를 사용하여 다음과 같은 작업을 수행하여 ls를 사용하여 얻을 수 있습니다 ( here ).

dd if=/dev/cdrom | head -c `stat --format=%s file.iso` | md5sum

작동해야하는 다른 한 줄 구성이 많이 있습니다. 각각의 경우 dd디스크에서 바이트를 읽는 데 사용 하지만 파일로 파이핑하지 않고 md5sum으로 바로 전달합니다.

가능한 속도 향상은 더 큰 블록 크기를 (사용하는 몇 가지 계산을 수행하여 할 수 bs=dd명령).


답변

이 작업을위한 프로그램이 있습니다. -라고 checkisomd5합니다. 우분투에서는 다음 명령으로 설치할 수 있습니다.

sudo apt-get 설치 isomd5sum

답변

디스크의 이미지 크기가 2048, 정수로 나눌 수있는 경우, 일반적으로 사용되는 정수는 다음과 같이 정확한 MD5sum을 얻을 sr0수 있습니다 lshw -C disk. ‘count’는 이미지 크기의 배당을 2048로 나눈 값입니다.

dd if=/dev/sr0 bs=2048 count=356352 |md5sum