`mount -o loop` ändert die gemountete ISO-Image-Datei


22

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 roMount-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 roOption 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 genisoimageTool erstellt wurde .

Ich habe alle ISO-Dateien mit dem fileDienstprogramm überprüft und filefestgestellt, 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.


Was ist die sha1sum nach dem Abnehmen?
Volker Siegel

Können Sie es mit einem leeren ISO-Image versuchen, das von erstellt wurde genisoimage -o empty.iso emptydir?
Volker Siegel

Kannst du versuchen, ein neues Loop-Gerät zu erstellen und es zu mounten iso? Sie können mknod -m 660 /dev/loop1 b 7 1auch nach dem Lauf verwendenchmod 660 /dev/loop*
Simply_Me

@ VolkerSiegel Unmounting gibt keine vorherige Prüfsumme zurück. Die Datei wird endgültig geändert. Aber danke für den Hinweis, ich werde meine Frage so bearbeiten, dass sie diese Informationen enthält.

2

Antworten:


1

ISO ist kein Synonym für schreibgeschützt. Unter bestimmten Umständen möchten Sie möglicherweise ein ISO-Lese- / Schreibrecht einbinden (beim Erstellen eines Startmediums).

Wenn Sie nur lesen möchten, verwenden Sie die Option

 mount -o ro,iso

3
Meine ISO-Datei war durch Dateisystemberechtigungen schreibgeschützt und wurde wie in der Mount-Ausgabe angegeben schreibgeschützt bereitgestellt.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.