Es sieht so aus mount -o loop
, als würde die eingebundene Image-Datei geändert. Ich habe die ISO-Image-Datei heruntergeladen und die SHA-1-Prüfsumme überprüft. Dann habe ich diese ISO-Datei gemountet und die Prüfsumme geändert. Hier sind die genauen Schritte, die ich ausgeführt habe, ein Kopieren und Einfügen von meiner Konsole, CentOS 7 x64 (beachten Sie, dass die ISO-Datei schreibgeschützt ist):
[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
Ich war so überrascht, dass ich die obigen Schritte auf einem anderen Computer (Ubuntu 14.04 x64) wiederholt habe, um das gleiche Ergebnis zu erzielen: Die Datei-Prüfsumme wurde danach geändert mount -o loop
. Beim Abmelden des ISO-Images wird die Prüfsumme nicht auf den ursprünglichen Wert zurückgesetzt. Dateiänderung ist persistent. Darüber hinaus ändern Sie beim nächsten Mount die Prüfsumme erneut auf einen neuen Wert. Wie ist das zu erklären?
PS
Das explizite schreibgeschützte Mounten durch Hinzufügen der ro
Mount-Option verhindert, dass die Datei geändert wird. Wenn ich Folgendes verwende:
sudo mount -o ro,loop X17-58997.iso /mnt/iso
Dann ist alles in Ordnung und die ISO-Image-Datei bleibt nach dem Einhängen unverändert. Das falsche Verhalten tritt nur auf, wenn die ro
Option nicht angegeben ist, auch wenn die ISO-Image-Datei auf Dateisystemebene schreibgeschützt ist. Ich habe drei verschiedene ISO-Images ausprobiert: Windows 7-Installations-DVD (offiziell), SystemRescueCD (kleines Rettungs-Linux) und handgemachtes ISO, das vom genisoimage
Tool erstellt wurde .
Ich habe alle ISO-Dateien mit dem file
Dienstprogramm überprüft und file
festgestellt, dass es sich bei allen um ISO 9660-CD-ROM-Dateisystemdaten handelt . Dateien in ISO-Images werden nicht geändert - ich habe es auch überprüft - es sieht so aus, als ob das fehlerhafte Mount-Szenario einige Metadaten oder nur Müll hinzufügt.
genisoimage -o empty.iso emptydir
?
iso
? Sie können mknod -m 660 /dev/loop1 b 7 1
auch nach dem Lauf verwendenchmod 660 /dev/loop*