[unix] `mount -o loop`는 마운트 된 ISO 이미지 파일을 변경합니다

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 이미지를 마운트 해제해도 체크섬이 원래 값으로 반환되지 않습니다. 파일 변경이 영구적입니다. 또한 다음 마운트는 체크섬을 다시 새로운 값으로 변경합니다. 어떻게 설명 할 수 있습니까?

추신

romount 옵션 을 추가하여 명시 적으로 읽기 전용으로 마운트하면 파일이 변경되지 않으므로 다음을 사용하는 경우 :

sudo mount -o ro,loop X17-58997.iso /mnt/iso

그런 다음 모든 것이 정상이며 ISO 이미지 파일은 마운트 후에도 변경되지 않습니다. roISO 이미지 파일이 파일 시스템 수준에서 읽기 전용 인 경우에도 옵션을 지정하지 않은 경우에만 잘못된 동작이 발생합니다 . 나는 Windows 7 설치 DVD (공식), SystemRescueCD (작은 구조 리눅스) 및 genisoimage도구 로 만든 수제 ISO의 세 가지 ISO 이미지를 사용해 보았습니다 .

file유틸리티 를 사용 하여 모든 ISO 파일을 확인하고 모두 ISO 9660 CD-ROM 파일 시스템 데이터file 라고 말했습니다 . ISO 이미지 내부의 파일은 변경되지 않았습니다. 또한 확인했습니다. 잘못된 마운트 시나리오가 일부 메타 데이터 나 가비지를 추가하는 것처럼 보입니다.



답변

Iso는 읽기 전용의 동의어가 아니며 일부 환경에서는 iso 읽기 / 쓰기를 마운트 할 수 있습니다 (부팅 미디어를 만들 때).

읽기 전용을 원하면 옵션을 사용하십시오.

 mount -o ro,iso


답변