`mount -o loop` cambia il file immagine ISO montato


22

Sembra che mount -o loopcambi il file di immagine montato. Ho scaricato il file immagine ISO e controllato il suo checksum SHA-1. Quindi ho montato quel file ISO e il checksum è cambiato. Ecco i passaggi esatti che ho fatto, un copia-incolla dalla mia console, CentOS 7 x64 (nota, che il file ISO è di sola lettura):

[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

Sono stato così sorpreso che ho ripetuto i passaggi precedenti su un'altra macchina (Ubuntu 14.04 x64), solo per ottenere lo stesso risultato: il checksum dei file è cambiato dopo mount -o loop. Smontare l'immagine ISO non riporta il suo checksum al valore originale; la modifica del file è persistente. Inoltre, il montaggio successivo modifica nuovamente il checksum in un nuovo valore. Come può essere spiegato?

PS

Il montaggio esplicitamente di sola lettura aggiungendo l' roopzione mount impedisce la modifica del file, quindi se utilizzo:

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

quindi tutto è OK e il file di immagine ISO dura invariato dopo il montaggio. Il comportamento errato si verifica solo quando l' roopzione non è specificata, anche se il file immagine ISO è di sola lettura a livello di file system. Ho provato su tre diverse immagini ISO: DVD di installazione di Windows 7 (ufficiale), SystemRescueCD (piccolo salvataggio Linux) e ISO fatti a mano creati dallo genisoimagestrumento.

Ho controllato tutti quei file ISO con l' fileutilità e fileho detto che tutti sono dati del file system CD-ROM ISO 9660 . I file all'interno delle immagini ISO non vengono modificati - l'ho anche controllato - sembra che lo scenario di montaggio difettoso aggiunga alcuni metadati o semplicemente spazzatura.


Cos'è lo sha1sum dopo lo smontaggio?
Volker Siegel,

Puoi provare con un'immagine iso vuota, creata da genisoimage -o empty.iso emptydir?
Volker Siegel,

puoi provare a creare un nuovo dispositivo loop e provare a montarlo iso? È possibile utilizzare mknod -m 660 /dev/loop1 b 7 1anche dopo l'esecuzionechmod 660 /dev/loop*
Simply_Me

Lo smontaggio di @VolkerSiegel non restituisce il checksum precedente. Il file è cambiato per sempre. Ma grazie per averlo sottolineato, ho intenzione di modificare la mia domanda per includere queste informazioni.

2
Bug report simile al launchpad: mount -o loop .... cambia l'immagine udf
Volker Siegel

Risposte:


1

Iso non è sinonimo di sola lettura, in alcune circostanze, potresti voler montare un iso in lettura / scrittura (durante la creazione di un supporto di avvio).

Se si desidera solo lettura, utilizzare l'opzione

 mount -o ro,iso

3
Il mio file ISO era di sola lettura con le autorizzazioni del file system ed era montato di sola lettura come indicato nell'output di mount.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.