mount -o loop
마운트 된 이미지 파일이 변경된 것 같습니다 . ISO 이미지 파일을 다운로드하여 SHA-1 체크섬을 확인했습니다. 그런 다음 해당 ISO 파일을 마운트하고 체크섬이 변경되었습니다. 다음은 콘솔에서 복사 한 붙여 넣기 CentOS 7 x64의 정확한 단계입니다 (ISO 파일은 읽기 전용입니다).
[mbartnicki@89-78-33-81 Downloads]$ ls -lh
total 3.1G
-r--r--r--. 1 mbartnicki mbartnicki 3.1G Mar 31 18:28 X17-58997.iso
[mbartnicki@89-78-33-81 Downloads]$ sha1sum X17-58997.iso
6c9058389c1e2e5122b7c933275f963edf1c07b9 X17-58997.iso
[mbartnicki@89-78-33-81 Downloads]$ sudo mount -o loop X17-58997.iso /mnt/iso/
mount: /dev/loop0 is write-protected, mounting read-only
[mbartnicki@89-78-33-81 Downloads]$ sha1sum X17-58997.iso
994944df320e9e03c032263d7b9e36157a0a587c X17-58997.iso
다른 컴퓨터 (Ubuntu 14.04 x64)에서 위의 단계를 반복하여 동일한 결과를 얻었습니다. 파일 체크섬이 변경되었습니다 mount -o loop
. ISO 이미지를 마운트 해제해도 체크섬이 원래 값으로 반환되지 않습니다. 파일 변경이 영구적입니다. 또한 다음 마운트는 체크섬을 다시 새로운 값으로 변경합니다. 어떻게 설명 할 수 있습니까?
추신
ro
mount 옵션 을 추가하여 명시 적으로 읽기 전용으로 마운트하면 파일이 변경되지 않으므로 다음을 사용하는 경우 :
sudo mount -o ro,loop X17-58997.iso /mnt/iso
그런 다음 모든 것이 정상이며 ISO 이미지 파일은 마운트 후에도 변경되지 않습니다. ro
ISO 이미지 파일이 파일 시스템 수준에서 읽기 전용 인 경우에도 옵션을 지정하지 않은 경우에만 잘못된 동작이 발생합니다 . 나는 Windows 7 설치 DVD (공식), SystemRescueCD (작은 구조 리눅스) 및 genisoimage
도구 로 만든 수제 ISO의 세 가지 ISO 이미지를 사용해 보았습니다 .
file
유틸리티 를 사용 하여 모든 ISO 파일을 확인하고 모두 ISO 9660 CD-ROM 파일 시스템 데이터file
라고 말했습니다 . ISO 이미지 내부의 파일은 변경되지 않았습니다. 또한 확인했습니다. 잘못된 마운트 시나리오가 일부 메타 데이터 나 가비지를 추가하는 것처럼 보입니다.
genisoimage -o empty.iso emptydir
?로 만든 빈 iso 이미지로 시도해 볼 수 있습니까 ?
iso
할 수 있습니까? mknod -m 660 /dev/loop1 b 7 1
실행 후에도 사용할 수 있습니다chmod 660 /dev/loop*