나는 팔로우한다이것들 표준 설치 프로그램을 사용하여 DebianEeePC를 설치하는 방법내 USB에 데비안 ISO를 쓰는 데비안 위키에 대한 지침입니다.
dd if=debian-*-netinst.iso of=/dev/sdX
를 사용하면 sha1sum
다운로드한 ISO 파일의 체크섬을 확인할 수 있습니다. USB 스틱에 문제가 없고 ISO가 완벽하게 복사되었는지 확인하기 위해 USB 스틱 장치의 체크섬을 어떻게 확인할 수 있습니까?
답변1
이것을 사용하여 cmp
모든 것이 잘 복사되었는지 확인할 수 있습니다.
$ cmp -n `stat -c '%s' debian-X-netinst.iso` debian-X-netinst.iso /dev/sdX
이 솔루션은 -의 체크섬을 명시적으로 계산하지 않지만 /dev/sdX
비교 소스(예 debian-X-netinst.iso
: .
단순히 후행 블록( iso 파일보다 클 가능성이 높음) dd if=/dev/sdX | sha1sum
을 얻기 때문에 단순히 일치하지 않는 체크섬이 생성될 수 있습니다 ./dev/sdX
후행 바이트를 비교 cmp -n
하지 않도록 하세요 ./dev/sdX
호출하려는 USB 대용량 저장 장치의 품질에 대해 편집증이 있는 경우 blockdev --flushbufs /dev/sdX
장치를 꺼냈다가 다시 삽입하고 비교하십시오. 그렇지 않으면 블록 전체 또는 일부가 커널 VM(캐시)에서 가져온 것일 수도 있고 실제로는 비트 하드웨어가 모두 망가졌습니다.
답변2
Julien의 답변은 작업을 수행하지만 더 쉽고 빠른 방법이 있습니다.
sudo head -c <image size> /dev/sdX | sha1sum
답변3
dd
및 md5sum
/ 만 사용 sha1sum
하면 충분하지만 앞서 언급했듯이 장치에 파일 크기가 다르므로 합계가 달라질 수 있으므로 주의하세요.
여기서는 아직 할 수 있어요
먼저 파일의 크기를 알아야 합니다.
$ stat -c '%s' debian-live-8.2.0-amd64-lxde-desktop.iso
1003487232
그런 다음 시스템 호출을 더 멋지게 만들려면 2의 배수로 만드는 것이 좋습니다. 예를 들어 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
답변4
@Kyle Jones의 답변을 바탕으로
diff <(md5sum debian-XYZ-netinst.iso | awk '{print $1}') <(dd if=/dev/sdX | md5sum | awk '{print $1}')
md5sum
보다 빠르기 때문에 사용해야 합니다 sha1sum
(대용량 파일을 확인할 때 시간이 절약됩니다).