CD에 구운 ISO 파일이 있습니다. 이제 CD가 올바르게 생성되었는지 확인하는 방법은 무엇입니까? ISO 파일에서 계산된 해시 합계를 확인하는 데 사용할 수 있는 해시 합계를 계산하는 명령이 필요합니다. 이상적으로 명령은 다음과 같아야 합니다.
- 이는 ISO 파일에 관계없이 작동합니다. 즉, 디스크에 있는 모든 파일의 해시와 목록을 유지하거나 블록 수를 기억하고 싶지 않습니다.
- 상대적으로 짧음: 한 줄 명령은 괜찮고, 두 줄 긴 명령 체인은 괜찮고, 한 페이지에 걸쳐 있는 스크립트는 좋지 않습니다.
- 상당히 효율적입니다. 예를 들어
dd
디스크를 파일로 복원한 다음md5sum
해당 파일에서 실행하는 것은 허용되지 않습니다.
모두가 만족하지 못하는 답이 없다면, 최근의 경쟁에도 감사하겠습니다. 왜 그렇게 직접적이지 않은지 알려주시면 더 좋을 것 같습니다.
답변1
기본적인 문제는 원본 ISO와 정확히 동일한 정보의 md5sum을 얻고자 한다는 것입니다. ISO를 CD에 기록할 때 디스크 끝에 공백이 있을 수 있으며 이로 인해 필연적으로 md5sum이 변경됩니다. 따라서 가장 짧은 방법은 다음과 같습니다.
md5sum /dev/cdrom
작동하지 않습니다. 작동하는 것(그리고 일반적으로 사용되는 것)온라인문서) 장치에서 정확한 바이트 수를 읽은 다음 실행하십시오 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에 전달합니다.
bs=
더 큰 블록 크기를 사용하기 위해 몇 가지 계산을 수행하면 속도가 향상될 수 있습니다(명령에서 dd
).
답변2
이 작업을 위한 프로그램이 있습니다. 이것은 ... 불리운다-- checkisomd5
. Ubuntu에서는 다음 명령을 통해 설치할 수 있습니다.
sudo apt-get 설치 isomd5sum
답변3
디스크의 이미지 크기가 일반적인 것처럼 보이는 2048(정수)로 나눌 수 있는 경우 아래와 같이 정확한 MD5sum을 얻을 수 있습니다. sr0
광학 장치의 이름은 lshw -C disk
- 및 "를 사용하여 찾을 수 있습니다. count'는 이미지 크기를 2048년으로 나눈 값입니다.
dd if=/dev/sr0 bs=2048 count=356352 |md5sum