Un file immagine ISO è un filesystem a sé stante?


45

Sto cercando di capire quale sia la relazione di un xxx.isofile con gli altri aspetti di un dispositivo a blocchi, ad esempio partizioni e un file system.

È comune per le persone descrivere l'accesso o rendere .isoutilizzabile un "montaggio dell'ISO".

Quindi per porre la domanda in un altro modo: se io, o un software, volessi "montare" un xxx.isofile su un dispositivo USB, è necessario disporre di una partizione preesistente completa di filesystem (es. FAT x o ext X ) o è il .isofile - una volta nello stato "montato" - un costrutto di livello inferiore che svolge lo stesso / simile ruolo di un file system (o persino una partizione)?


15
Solo un'osservazione: il termine "file ISO" nella maggior parte dei casi indica un file che contiene un file system nello standard ISO 9660 per i supporti di dischi ottici. È possibile ottenere un file ISO copiando un CD o un DVD-ROM usando dd, ad esempio.
Dubu,

4
Montare su una USB? Intendi come far apparire i contenuti ISO come parte dell'albero VFS sotto il punto di montaggio della chiavetta USB? Intendi come mount /dev/my_usb_stick /media/usb_stick && mount -o loop,ro foo.iso /media/usb_stick/some_dir? (Il mountcomando di Linux supporta l' loopopzione mount per configurare un dispositivo a blocchi di loop, perché volere montare immagini FS come un .iso è comune.)
Peter Cordes

Stai usando il file come dispositivo a blocchi quando monti un ISO.

Risposte:


64

Un file ISO non è un file system. Esso contiene un file system. Dal punto di vista dell'utilizzo, funziona allo stesso modo di un disco rigido, di un dispositivo USB o di un DVD: è necessario disporre di un punto di montaggio, ovvero di un punto nel file system in cui è possibile montarlo per accedere ai contenuti.


1
grazie, quindi l'iso - una volta in uno stato montato - sarebbe più analogo a un dispositivo a blocchi o un partitone in quel caso? - o non è possibile tracciare un'analogia diretta in quanto un iso è di nuovo totalmente diverso?
the_velour_fog

@the_velour_fog È un'ottima analogia!
Jenny D,

19
Il motivo per cui non è possibile scrivere non è perché è un file normale montato anziché un file speciale del dispositivo, ma perché il driver del file system non lo supporta. Se l'immagine contenesse un altro filesystem come FAT32 o EXT2 invece di ISO9660, si sarebbe in grado di leggere-scrivere.
rexkogitans,

4
@rexkogitans: ... o UDF , alias ISO 13346. Questo è il formato di file utilizzato dai CD-R riscrivibili.
Salterio

1
@hobbs: chiavette USB, HDD, ecc. non devono avere partizioni. I dispositivi a blocchi senza partizioni sono talvolta chiamati "SuperFloppy". Non c'è bisogno di partizionare qualcosa quando ci metti solo una partizione. È solo che alcuni sistemi operativi si aspettano semplicemente che ci sia una tabella delle partizioni e non riconoscano un filesystem direttamente sul dispositivo a blocchi. I sistemi operativi integrati nelle fotocamere digitali point & shoot, ad esempio, spesso rifiutano di montare schede SD in formato SuperFloppy.
Jörg W Mittag,

42

Ci sono tre concetti separati qui:

  • Un dispositivo a blocchi , che è un dispositivo fisico o virtuale che rappresenta una serie di blocchi di dati di dimensioni uguali. Gli HDD sono dispositivi a blocchi. Lo stesso vale per i CD di dati.
  • Un file system , che definisce un modo per memorizzare dati in un dispositivo di blocco che rappresenta una serie di file e directory e altre informazioni file system. ext3 è un file system, così come ISO9660.
  • Un file di immagine è una copia dei dati su un dispositivo a blocchi, sotto forma di un file (su un altro file system). I file di immagine possono avere qualsiasi estensione; .imgè comune.

Un .isofile è in genere un file di immagine di un dispositivo a blocchi contenente un file system ISO9660 . Contiene una rappresentazione esatta dei dati memorizzati su un CD. Analogamente, potresti avere un .imgfile (chiamalo .ext3se preferisci) che è un file immagine di un dispositivo a blocchi contenente un filesystem ext3 . Questo è un modo comune di distribuire immagini USB o floppy avviabili. Il nome è arbitrario, .isoè proprio ciò che chiamiamo file di immagine contenente un file system ISO9660 (o, a volte, un file system UDF, che è più moderno).

Non è possibile montare direttamente i file di immagine, poiché non sono dispositivi a blocchi, ma semplicemente una copia dei dati in un dispositivo a blocchi. Tuttavia, Linux e altri sistemi operativi hanno una funzione chiamata dispositivi loop che consente di accedere a un file immagine come dispositivo a blocchi. Per montare un file ISO, è innanzitutto necessario creare un dispositivo loop che rappresenti un dispositivo a blocchi virtuale con gli stessi contenuti del file ISO. Quindi è possibile montarlo come se fosse un CD fisico o come un'unità USB contenente un filesystem ext3 o qualsiasi altra cosa. Il mountcomando può farlo automaticamente per te, ma sotto il cofano sono passaggi separati.

Le partizioni sono un modo per suddividere un dispositivo a blocchi in più dispositivi a blocchi logici più piccoli. Le partizioni sono opzionali. Un CD è analogo a un'unità USB non partizionata o un floppy disk a questo proposito, uno in cui il filesystem è archiviato sull'intero dispositivo senza tabella delle partizioni. I file ISO pertanto non contengono una tabella delle partizioni. Nulla ti impedisce, per esempio, di creare un filesystem ISO9660 su una partizione HDD. Quando si fare avere partizioni, un file di immagine può essere di una singola partizione o dell'intero dispositivo fisico tra cui la tabella delle partizioni, ma i CD non sono partizionato, per cui la distinzione è irrilevante per le immagini ISO.

Non è necessario montare un dispositivo - o un file di immagine - per accedere ai file contenuti all'interno. Alcune applicazioni e librerie hanno la possibilità di accedere direttamente ai dati, senza coinvolgere il sistema operativo. Comprendono semplicemente direttamente il file system e dispongono di codice che imita ciò che fa il sistema operativo quando accede ai file in un file system. Questo è il motivo per cui esistono strumenti che possono mostrarti il ​​contenuto di un file ISO, senza montarlo effettivamente tramite il sistema operativo. Il montaggio è un concetto di sistema operativo, ma non è l'unico modo per accedere ai dati su un dispositivo a blocchi. Alcune persone potrebbero considerare la semplice azione di fare questo "montaggio" in un certo senso.

Ciò su cui monti un dispositivo (o un file ISO attraverso un dispositivo di loopback) è irrilevante. È proprio qui che nella gerarchia dei percorsi chiedi al sistema operativo di mostrare i contenuti di un dispositivo. Su Linux, di solito sceglieresti una directory su alcuni file system già montati. Ma nulla ti impedisce, per esempio, l'avvio da un CD e chiedere al kernel di montarlo come filesystem di root. Ovviamente, poiché un file ISO è, beh, un file, probabilmente esiste già su alcuni file system, che è necessario aver montato da qualche parte per accedere all'ISO.


11

No, il file immagine ISO non è un file system a sé stante. Proprio come una partizione può contenere un file system, ma non è un file system, un file immagine ISO contiene un file system, ma non è un file system.

Ma hai bisogno di un file system per due cose:

  • un posto dove archiviare il file .iso (supponendo che non sia un disco d'argento lucido)
  • una directory dove montare ad es /mnt/isotmp

Dopodiché, se un percorso si risolve in qualcosa sotto /mnt/isotmp, il codice per il file system di immagine ISO eseguirà la risoluzione, l'apertura, ecc.


bello, la disposizione che descrivi è simile al modo in cui viene montato un disco rigido, ovvero con un block device/partition/filesystem/montaggio su /some/directory. quindi ho ragione quindi di supporre che l'iso sostanzialmente svolga la funzione di un filesystem?
the_velour_fog

Non lo direi così. Il file ISO contiene un filesystem. Proprio come una partizione contiene un filesystem. Non diresti nemmeno che una partizione sia un filesystem (spero)
Anthon,

In che modo differisce dal dire "un file png contiene un'immagine, ma non è un'immagine", ovvero una distinzione sciocca e inutile?
Nick Matteo,

@the_velour_fog: più preciso nel dire che l'iso svolge sostanzialmente la funzione del dispositivo a blocchi.
TMN,
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.