jueves, 13 de septiembre de 2018

Cómo montar ISO’s y otros tipos de archivos de imagen en Linux

¿Has tenido alguna vez la necesidad de comprobar el contenido de un archivo de imagen? Quizás olvidaste qué versión de esa distribución de Linux era esa. Puede haber muchas razones para verificar dos veces una imagen ISO, pero ¿cómo lo haces sin quemarla? Descubrámonos como puedes hacerlo, no se requiere software adicional.





Todos los usuarios expertos de Linux deberían estar familiarizados con el comando mountEs una parte muy importante de la administración general del sistema. Pero, muchos no saben que el comando de mount es en realidad mucho más poderoso de lo que aparenta a primera vista.



Montando archivos de imagen en Linux
Podemos montar rápida y fácilmente, no solo imágenes ISO, sino incluso imágenes de discos con particiones.
montar imagen iso linux consola
Rápidamente, aquí hay un ejemplo de montaje de un archivo ISO.

mount -o loop disk_image.iso /path/to/mount/dir

Aquí el indicador -o es para pasar las opciones de montaje, y en este caso, le estamos diciendo a mount que queremos montar la imagen usando un dispositivo de loopback. Un dispositivo de retroalimentación es un concepto realmente agradable desarrollado para ayudar a montar archivos de imagen. Un dispositivo de retroalimentación es un pseudo-dispositivo de software que actúa como intermediario y permite que el sistema trate el archivo como si fuera un dispositivo de bloque, como una unidad de CD-ROM, disco duro, etc. Al hacerlo, tenemos mucha más flexibilidad cuando tratamos con el archivo, como la realización de funciones del sistema de archivos (que suponen que hay un dispositivo de bloque subyacente).

Eso es genial, pero ¿quién usa algo más que ISO’s? Bueno, mount también puede hacer bastante más. Si tienes un archivo de imagen de un disco duro (como se obtiene de dd o algo similar), podemos llamarlo hdd.img, entonces también puedes montar los sistemas de archivos dentro de él. Y si sospechas que necesitamos usar un dispositivo de loopback de nuevo, estás en el camino correcto.

Pero si intentas esto ...
mount -o loop hdd.img /path/to/mount/dir

No vas a tener mucha suerte
Eso es porque la mayoría de los discos tienen tablas de particiones. Los CD y DVD normalmente no tienen tablas de particiones porque no se ajustan a sus casos de uso. Cuando mount comienza a montar un volumen, espera encontrar un sistema de archivos, no una tabla de particiones.

Sin embargo, eso no significa que no se pueda hacer. Para montar el sistema de archivos, debemos decirle a mount dónde está dentro del archivo de imagen con una información pasada a las opciones de mount. La información que requiere mount es el desplazamiento de la partición, es decir, el número de bytes en el archivo de imagen donde comienza la partición. Hay varias formas de resolverlo, pero fdisk hace el trabajo por ti.

fdisk -l hdd.img

Supongamos que fdisk nos dice que el sector inicial es 100 (esto es solo un ejemplo, es altamente improbable que esto sea correcto en tu caso específico). Lo que tenemos que hacer ahora es tomar ese número de sector y multiplicarlo por el tamaño del sector de HDD de la que se tomó la imagen, lo que probablemente sea ​​512 bytes en unidades anteriores y posiblemente 4096 (4K) en las más nuevas. pero siempre debes verificar esto al clonar unidades (tal vez ponerlo en el nombre del archivo sea una buena medida). El tamaño del sector es el número de bytes por sector.

mount -o ro,loop,offset=51200 hdd.img /path/to/mount/dir

NOTA: He agregado la opción ro en este ejemplo para mostrar cómo puedes montar un sistema de archivos como de solo lectura. Esto es especialmente útil en aplicaciones forenses donde no se puede alterar la integridad de los datos por cuestiones de seguridad, o incluso legales. A menudo, se creará un archivo de imagen desde el disco utilizando un adaptador especial llamado bloqueador de escritura que literalmente bloquea todos los comandos de escritura y solo permite comandos de lectura.

Eso es bastante trabajo con las matemáticas y todo, pero debe haber una manera más fácil, ¿verdad? Eso depende de cuán reciente sea la distribución de Linux que esté utilizando, pero cualquier cosa de los últimos cinco años más o menos no debería tener ningún problema.

Losetup de la herramienta es para configurar los dispositivos de loopback. Puede que te preguntes por qué deseas configurar manualmente un dispositivo de retroalimentación cuando mount se ocupa de todo eso por ti. ¿Recuerdas que mount no quería montar toda la imagen del disco debido a esa molesta tabla de particiones? Bueno, dado que la tabla de particiones es lo que contiene todas las matemáticas sobre dónde se ubican las particiones (donde fdisk obtiene toda esa información), sería mucho más fácil dejar que el sistema las referenciara en su lugar. Simplemente podemos crear un dispositivo de loopback para toda la imagen del disco y luego decirle al sistema que busque particiones en el dispositivo de loopback recién creado.

losetup -f hdd.img

NOTA: El indicador -f pasado a  losetup simplemente le dice que cree un dispositivo de loopback con un nombre aún no utilizado, como /dev/loop1 if /dev/loop0  ya está en uso. Alternativamente, puedes pasar un nombre de dispositivo /dev/loop0 , si ese dispositivo no existe,  losetup lo creará, si lo hace, lo reasignará al archivo de imagen recién nombrado.

Si el comando es exitoso, verás el dispositivo de loopback recién creado en /dev/. Ahora, puedes usar:
partprobe /dev/loopback0
O
kpartx -u /dev/loopback0

si tienes partprobe o kpartx instalados, respectivamente. Sin embargo, parted debería instalarse en la mayoría de las distribuciones Linux modernas.
Una vez hecho esto, deberías ver algo como /dev/loop0p1 in /dev/. Esta es tu partición, que luego puedes montar fácilmente.

mount /dev/loop0p1 /path/to/mount/dir

Como probablemente notarás, no se requiere loopback. Eso es porque ya nos ocupamos de eso.


Sin embargo, podemos hacerlo aún más fácil al agregar un solo indicador a losetup.

losetup -f -P hdd.img

El indicador -P que utilizamos en realidad le dice a  losetup que haga que el kernel escanee la tabla de particiones, para que podamos saltarnos al montaje de la partición que queremos.

Usando lo anterior, puedes montar una variedad de imágenes de disco. No importa si son de medios ópticos, llaves USB, particiones MBR o GPT. El kernel de Linux puede manejar tantas tablas de particiones y sistemas de archivos diferentes, que te resultará más difícil encontrar algo que no sea compatible.

Claro, puede haber herramientas que hacen esto mucho más fácil, pero ¿dónde está la diversión en eso? Utiliza estas técnicas en la recuperación de datos y la administración general del sistema y, como cualquier tipo de conocimiento, es extremadamente valioso cuando es necesario.

Comenta otro truco que engrandezca el post. Por favor compártelo en las rede sociales.


Fuente: Fossbytes

No hay comentarios.:

Publicar un comentario

Tu opinión es importante para mí, porque me ayuda a mejorar. Si te gustó el articulo o tienes alguna sugerencia, déjame tu comentario con tu nombre para poder responderte tan pronto como pueda.