Estoy tratando de entender cuál es la relación xxx.iso
que tiene un archivo con los otros aspectos de un dispositivo de bloque, por ejemplo, particiones y un sistema de archivos.
Es común que las personas describan .iso
cómo acceder o hacer un uso como "montar el ISO".
Entonces, para plantear la pregunta de otra manera: si yo, o alguna pieza de software, quisiera "montar" un xxx.iso
archivo en un dispositivo USB, ¿es necesario tener una partición preexistente completa con un sistema de archivos (por ejemplo, FAT x o ext X ) ¿o es el .iso
archivo, una vez en el estado "montado", una construcción de nivel inferior que realiza la misma función / similar que un sistema de archivos (o incluso una partición)?
filesystems
iso
the_velour_fog
fuente
fuente
dd
, por ejemplo.mount /dev/my_usb_stick /media/usb_stick && mount -o loop,ro foo.iso /media/usb_stick/some_dir
? (Elmount
comando de Linux admite laloop
opción de montaje para configurar un dispositivo de bloque de bucle, ya que el deseo de montar imágenes FS como un .iso es común.)Respuestas:
Un archivo ISO no es un sistema de archivos. Que contiene un sistema de archivos. Desde el punto de vista del uso, funciona de la misma manera que un disco duro o un dispositivo USB o DVD: debe tener un punto de montaje, es decir, un lugar en su sistema de archivos donde pueda montarlo para acceder al contenido.
fuente
Hay tres conceptos separados aquí:
.img
Es común.Un
.iso
archivo suele ser un archivo de imagen de un dispositivo de bloque que contiene un sistema de archivos ISO9660 . Contiene una representación exacta de los datos almacenados en un CD. De forma análoga, podría tener un.img
archivo (llámelo.ext3
si lo prefiere) que es un archivo de imagen de un dispositivo de bloque que contiene un sistema de archivos ext3 . Esta es una forma común de distribuir imágenes de inicio USB o disquete. El nombre es arbitrario,.iso
es lo que llamamos archivos de imagen que contienen un sistema de archivos ISO9660 (o, a veces, un sistema de archivos UDF, que es más moderno).No puede montar directamente archivos de imagen, ya que no son dispositivos de bloque, sino simplemente una copia de los datos en un dispositivo de bloque. Sin embargo, Linux y otros sistemas operativos tienen una característica llamada dispositivos de bucle que permite acceder a un archivo de imagen como un dispositivo de bloque. Para montar un archivo ISO, primero cree un dispositivo de bucle que represente un dispositivo de bloque virtual con el mismo contenido que el archivo ISO. Luego puede montarlo como si fuera un CD físico, o como si fuera una unidad USB que contiene un sistema de archivos ext3, o cualquier otra cosa. El
mount
comando puede hacer esto por usted automáticamente, pero debajo del capó hay pasos separados.Las particiones son una forma de dividir un dispositivo de bloque en múltiples dispositivos de bloque lógicos más pequeños. Las particiones son opcionales. Un CD es análogo a una unidad USB no particionada o un disquete a este respecto, uno donde el sistema de archivos se almacena en todo el dispositivo sin una tabla de particiones. Los archivos ISO por lo tanto no contienen una tabla de particiones. Sin embargo, nada le impide crear un sistema de archivos ISO9660 en una partición HDD. Al hacerlo tener particiones, un archivo de imagen puede ser de una sola partición o de todo el dispositivo físico que incluye la tabla de particiones, pero los CD no se dividen, por lo que la distinción es irrelevante para las imágenes ISO.
Usted no tiene que montar un dispositivo - o un archivo de imagen - con el fin de acceder a los archivos contenidos en su interior. Algunas aplicaciones y bibliotecas tienen la capacidad de acceder a los datos directamente, sin involucrar al sistema operativo. Simplemente entienden el sistema de archivos directamente y tienen un código que imita lo que hace el sistema operativo cuando accede a los archivos en un sistema de archivos. Es por eso que existen herramientas que pueden mostrarle el contenido de un archivo ISO, sin realmente montarlo a través del sistema operativo. El montaje es un concepto de sistema operativo, pero no es la única forma de acceder a los datos en un dispositivo de bloque. Algunas personas podrían considerar la simple acción de hacer este "montaje" de alguna manera.
Lo que monta un dispositivo (o un archivo ISO a través de un dispositivo de bucle invertido) es irrelevante. Ahí es donde, en la jerarquía de rutas, le pide al sistema operativo que muestre el contenido de un dispositivo. En Linux, normalmente elegiría un directorio en algún sistema de archivos ya montado. Pero nada le impide, por ejemplo, arrancar desde un CD y pedirle al núcleo que lo monte como el sistema de archivos raíz. Por supuesto, dado que un archivo ISO es, bueno, un archivo, probablemente exista en algún sistema de archivos para empezar, que debe haber montado en algún lugar para acceder al ISO.
fuente
No, el archivo de imagen ISO no es un sistema de archivos en sí mismo. Al igual que una partición puede contener un sistema de archivos, pero no es un sistema de archivos, un archivo de imagen ISO contiene un sistema de archivos, pero no es un sistema de archivos.
Pero necesitas un sistema de archivos para dos cosas:
/mnt/isotmp
Después de eso, si una ruta se resuelve con algo debajo
/mnt/isotmp
, el código para el sistema de archivos de imagen ISO hará la resolución, apertura, etc.fuente
block device/partition/filesystem/
montaje en/some/directory
. Entonces, ¿estoy en lo cierto al asumir que la iso básicamente realiza la función de un sistema de archivos?