실제 레코딩 된 CD와 원본 ISO 이미지가 있습니다. CD 내용에 대한 참조 체크섬 파일이 제공되지 않았습니다. 실제 CD가 정확하고 (원본 이미지에 해당) 완전히 읽을 수 있는지 어떻게 확인합니까?
md5sum
CD / DVD를 부팅하지 않으려면 스스로 실행 하고 비교할 수도 있습니다 .
실제 레코딩 된 CD와 원본 ISO 이미지가 있습니다. CD 내용에 대한 참조 체크섬 파일이 제공되지 않았습니다. 실제 CD가 정확하고 (원본 이미지에 해당) 완전히 읽을 수 있는지 어떻게 확인합니까?
md5sum
CD / DVD를 부팅하지 않으려면 스스로 실행 하고 비교할 수도 있습니다 .
답변:
먼저 CD를 임시 파일로 추출합니다.
dd if=/dev/sr0 of=copy.iso
그럼 당신은 있는지 확인 copy.iso
하고 orig.iso
와 예를 들어, 같은 크기를 가지고 :
stat -c '%s %n' orig.iso copy.iso
크기가 동일하면 쉽습니다.
sha1sum orig.iso copy.iso
그러나 사본이나 원본 이미지에 후행 0이 있기 때문에 크기가 약간 다를 수 있음을 알았습니다. 예를 들어, 다음 copy.iso
보다 작은 경우 orig.iso
:
sha1sum copy.iso
head -c $(stat -c %s copy.iso) orig.iso | sha1sum
물론 후행 바이트가 0인지 확인해야합니다.
od -j $(stat -c %s copy.iso) orig.iso
오프셋을 제외한 첫 번째 줄은 0이어야합니다. 두 번째 줄은 별표 여야합니다. 별표는 연속적인 동일한 선이 표시되지 않도록하는 것입니다.
head -c $(stat -c %s /path/to/master.iso) /dev/sr0 | sha1sum
구운 CD 이미지를 만들 필요가 없도록 할 수 있습니다 .
여전히 ISO가 있으면을 사용하여 바이트별로 비교할 수 있습니다 cmp
. 그것은 충분히 간단한 명령이며 찾은 첫 번째 차이에서 종료되므로 실제로 오류가 일찍 발생하면 체크섬을 만드는 것보다 훨씬 빠릅니다.
cmp /dev/cdrom /path/cdrom.iso
성공에 대한 가능한 결과 :
&& echo OK
출력 부족으로 혼동 될 경우 명령에 추가 할 수 있습니다 .cmp: EOF on cdrom.iso
: 동일하지만 cdrom에 iso 파일보다 많은 바이트가 있습니다. 이것은 일반적으로 cdrom 끝에 패딩이 없기 때문입니다. 실제로는 중요하지 않으므로 여전히 성공합니다.실패에 대한 가능한 결과 :
cmp: EOF on /dev/cdrom
: 어떤 이유로 CDROM의 데이터가 불완전합니다. ISO가 너무 커서 실제 CD에 맞지 않을 수 있습니다./dev/cdrom cdrom.iso differ: byte 18296321, line 71780
: CDROM과 ISO 이미지간에 예기치 않은 차이가 있습니다.ISO 파일이 CD를 굽는 데 사용 된 것과 동일하면 다음 두 가지 즐겨 찾기가 있습니다.
diff /dev/sr0 /tmp/file.iso
녹화 된 이미지와 이미지 파일을 비교합니다. 좀 더 매혹적이라고 느끼면 다음과 같이 시도해보십시오.
sha1sum /dev/sr0 /tmp/file.iso
서명을 비교하십시오. SHA1 합계가 이미있는 경우 더 유용합니다. 두 명령 모두 매체를 끝까지 읽습니다.
@ Marki555가 제안한 방식으로 수행하려면 광학 드라이브와 이미지를 먼저 마운트해야합니다. 여기에 전체 스크립트입니다 : (할 수 있습니다, 물론, 생략 sudo
하면 경우에있는 거 루트 - 나쁜 생각, 일반적으로)
sudo mkdir /tmp/{a,b}
sudo mount /dev/sr0 /tmp/a -o ro # or whatever
sudo mount /tmp/file.iso /tmp/b -o loop,ro
diff -dur /tmp/{a,b}
sudo umount /tmp/a
sudo umount /tmp/b
sudo rmdir /tmp/{a,b}
cmp [-l]
이진 파일에 더 적합합니다. Diff는 텍스트에서 가장 잘 작동합니다.
dd
(예 :)를 사용하여 CD를 완전히 읽을 수 있는지 확인할 수 있습니다 dd if=/dev/cdrom of=/dev/null
. 그러나 ISO 이미지와 직접 비교할 수는 없습니다. 각각의 소프트웨어는 약간 다른 ISO 파일 (일부 다른 헤더 또는 패딩)을 생성하지만, 서로 다른 ISO 이미지는 모두 동일한 CD 내용 (디렉토리 구조, 파일 속성 및 파일 내용)을 제공합니다.
따라서 CD를 마운트하고 ISO 이미지를 마운트 한 다음 일종의 디렉토리 비교 도구를 사용하여 파일 시스템 수준에서 비교할 수 있습니다 (죄송합니다, 아직 리눅스에서는 사용하지 않았습니다).
diff -r
디렉토리 내용을 재귀 적으로 비교합니다.
Brasero는 다음을 수행 할 수 있습니다. 도구-> 무결성 검사 ...