나는 다음 이 DebianEeePC 하우투 InstallUsingStandardInstaller의 내 USB에 데비안 ISO를 작성, 데비안 위키에서 지침을.
dd if=debian-*-netinst.iso of=/dev/sdX
를 사용하여 sha1sum
다운로드 한 ISO 파일의 체크섬을 확인할 수 있습니다. USB 스틱 장치의 체크섬을 확인하여 USB 스틱에 문제가없고 ISO가 완벽하게 복사되었는지 확인하려면 어떻게해야합니까?
나는 다음 이 DebianEeePC 하우투 InstallUsingStandardInstaller의 내 USB에 데비안 ISO를 작성, 데비안 위키에서 지침을.
dd if=debian-*-netinst.iso of=/dev/sdX
를 사용하여 sha1sum
다운로드 한 ISO 파일의 체크섬을 확인할 수 있습니다. USB 스틱 장치의 체크섬을 확인하여 USB 스틱에 문제가없고 ISO가 완벽하게 복사되었는지 확인하려면 어떻게해야합니까?
답변:
cmp
모든 것이 제대로 복사되었는지 확인하는 데 사용할 수 있습니다 .
$ cmp -n `stat -c '%s' debian-X-netinst.iso` debian-X-netinst.iso /dev/sdX
이 솔루션은 체크섬을 명시 적으로 계산하지는 않지만 /dev/sdX
이미 비교 소스 (예 :)를 위해이를 수행했기 때문에이를 수행 할 필요는 없습니다 debian-X-netinst.iso
.
단지 a를 수행하면 dd if=/dev/sdX | sha1sum
후행 블록을 얻었 기 때문에 일치하지 않는 체크섬이 생성 될 수 있습니다 ( /dev/sdX
대부분 iso 파일보다 큽니다).
을 통해 cmp -n
후행 바이트 /dev/sdX
가 비교 되지 않도록하십시오 .
호출하는 USB 대용량 저장 장치의 품질에 대해 편집증이 있다면 sync
그것을 꺼내고 다시 삽입 한 다음 비교를 수행하십시오. 그렇지 않으면 실제로 모든 비트가 커널 VM (캐시)에서 올 수 있습니다 하드웨어가 망가졌습니다.
Julien의 답변이 효과가 있지만이를 수행하는 더 간단하고 빠른 방법이 있습니다.
sudo head -c <image size> /dev/sdX | sha1sum
head -c $(stat -c '%s' the.iso) /dev/sdc | sha1sum
dd
and md5sum
/ 만 사용하면 sha1sum
충분하지만 앞에서 말했듯이 장치의 크기가 파일과 크기가 다르므로 합계가 다릅니다.
여기 아직도 할 수있는 방법
먼저 파일 크기를 알아야합니다.
$ stat -c '%s' debian-live-8.2.0-amd64-lxde-desktop.iso
1003487232
그런 다음 syscall로 멋지게하려면이 두 가지의 좋은 힘의 배수로 얻는 것이 좋습니다. 두 가지 4096
의 곱셈은 파일의 크기를 정확하게 산출해야합니다. 다른 방법으로, 너무 적은 또는 너무 많은 바이트로 인해 잘못된 체크섬이 생성됩니다.
$ bc
bc 1.06.95
scale = 9
1003487232 / 4096
244992.000000000
나는 행복합니다 4096 × 244992 = 1003487232
.4096은 나에게 좋으며 (아마도 당신에게) 블록 크기 4096
(일반)와 블록 수를 사용할 수 있습니다 244992
.
USB 키에 파일을 쓰는 것을 잊지 마십시오 ...
$ dd if=debian-live-8.2.0-amd64-lxde-desktop.iso of=/dev/sd? && sync
알려진 블록 크기와 블록 수를 사용하여 키에서 정확한 바이트 수를 읽고 확인할 수 있습니다.
$ dd if=/dev/sdb bs=4096 count=244992 | sha1sum
b0dbe4ca8f526d1e43555459c538607d4a987184
(예 md5sum
보다 빠르지 sha1sum
만 여기서 병목 현상은 분명하지 않습니다. 병목 현상은 USB 덕분입니다.
또는 간단히 말해 :
dd if=/dev/sdb bs=4096 count=$(($(stat -c '%s' the.iso) / 4096)) | sha1sum
$ dd if=/dev/sdb1 bs=4096 count=<filesize/4096> | md5sum
에 USB 스틱에 작성된 데비안 이미지의 md5sum을 확인하고 데비안 md5sum과 비교할 수 있습니다.
@Kyle Jones의 답변을 바탕으로
diff <(md5sum debian-XYZ-netinst.iso | awk '{print $1}') <(dd if=/dev/sdX | md5sum | awk '{print $1}')
md5sum
보다 빠르기 때문에 사용해야합니다 sha1sum
(큰 파일을 확인하면 시간이 절약됩니다)
md5sum
적어도 두 배는 빠르다는 뜻 입니까? OP가 이미 sha1sum
다운로드 사이트에서 가져 왔으므로 계산할 필요가 없기 때문입니다. 그리고 USB에서 읽는 것은 sha1 / md5 계산이 아니라 제한 요소가 될 것입니다.