web-dev-qa-db-ja.com

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

[〜#〜] ps [〜#〜]

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

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

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

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

22
user77422

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

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

 mount -o ro,iso
1
Archemar