ISO 파일이 있는데 CD로 구 웠습니다. 이제 CD가 올바르게 생성되었는지 어떻게 확인할 수 있습니까? ISO 파일에서 계산 한 해시 합계를 확인하는 데 사용할 수있는 해시 합계를 계산하는 명령을 원합니다. 이상적으로 명령은 다음과 같아야합니다.
dd
디스크를 파일로 되 돌린 다음 파일에서 md5sum
를 실행하는 것은 허용되지 않습니다.모두 만족할 수없는 답이 없다면 가장 가까운 경기도 감사하겠습니다. 왜 그렇게 간단하지 않은지 말할 수 있다면 더 좋습니다.
기본적인 문제는 원래 ISO에 있던 것과 똑같은 정보의 md5sum을 가져오고 싶다는 것입니다. ISO를 CD에 기록 할 때 디스크 끝에 빈 공간이있을 수 있으며 이로 인해 필연적으로 md5sum이 변경됩니다. 따라서 가장 짧은 방법은 다음과 같습니다.
md5sum /dev/cdrom
작동하지 않습니다 . 작동하는 것은 (그리고 online 문서에서 일반적 임) 장치에서 정확한 바이트 수를 읽고 md5sum
를 수행하는 것입니다. 바이트 수를 알고 있다면 다음과 같이 할 수 있습니다.
dd if=/dev/cdrom bs=1 count=xxxxxxxx | md5sum
여기서 'xxxxx'는 ISO 크기 (바이트)입니다.
현재 바이트 수를 모르지만 디스크에 여전히 iso가 있으면 다음과 같은 작업을 수행하여 ls를 사용하여 가져올 수 있습니다 ( 여기에서 가져옴 ) :
dd if=/dev/cdrom | head -c `stat --format=%s file.iso` | md5sum
작동해야하는 다른 많은 단선 구조가 있습니다. 각각의 경우에 우리는 dd
를 사용하여 디스크에서 바이트를 읽지 만 파일로 파이핑하지 않고 곧바로 md5sum에 전달합니다.
더 큰 블록 크기 (dd
명령의 bs=
)를 사용하기 위해 몇 가지 계산을 수행하여 속도를 향상시킬 수 있습니다.
디스크에있는 이미지의 크기가 2048 (정수)로 나눌 수있는 경우 (매우 일반적으로 보임) 다음과 같이 정확한 MD5sum을 얻을 수 있습니다. 여기서 sr0
는 광의 이름입니다. lshw -C disk
-를 사용하여 찾았습니다. 여기서 'count'는 이미지 크기를 2048로 나눈 값입니다.
dd if=/dev/sr0 bs=2048 count=356352 |md5sum