`mount -o loop`はマウントされたISOイメージファイルを変更します


22

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イメージをアンマウントしても、チェックサムは元の値に戻りません。ファイルの変更は永続的です。さらに、次回のマウントでは、チェックサムが再び新しい値に変更されます。どのように説明できますか?

PS

roマウントオプションを追加して明示的に読み取り専用でマウントすると、ファイルが変更されなくなります。

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

その後、すべてが問題なく、ISOイメージファイルはマウント後も変更されません。roISOイメージファイルがファイルシステムレベルで読み取り専用であっても、オプションが指定されていない場合にのみ、間違った動作が発生します。Windows 7インストールDVD(公式)、SystemRescueCD(小さなレスキューLinux)、およびgenisoimageツールで作成された手作りのISOの3つの異なるISOイメージを試しました。

私はすべてのISOファイルをfileユーティリティでチェックしfile、それらはすべてISO 9660 CD-ROMファイルシステムデータであると言いました。ISOイメージ内のファイルは変更されません-私もチェックしました-障害のあるマウントシナリオがメタデータまたは単なるゴミを追加するようです。


アンマウント後のsha1sumとは何ですか?
フォルカーシーゲル14

作成した空のisoイメージで試してみてくださいgenisoimage -o empty.iso emptydir
フォルカーシーゲル14

新しいループデバイスを作成してiso、それをマウントしてみてください。mknod -m 660 /dev/loop1 b 7 1実行後も使用できますchmod 660 /dev/loop*
Simply_Me 14

@VolkerSiegelのアンマウントは、以前のチェックサムを返しません。ファイルは永久に変更されます。しかし、これを指摘してくれてありがとう、私はこの情報を含めるために質問を編集します。

回答:


1

Isoは読み取り専用の同義語ではありません。状況によっては、ISO読み取り/書き込みをマウントすることもできます(ブートメディアの作成時)。

読み取り専用にする場合は、オプションを使用します

 mount -o ro,iso

3
ISOファイルは、ファイルシステムのアクセス許可によって読み取り専用であり、マウント出力に示されているように読み取り専用でマウントされました。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.