Tengo un archivo iso llamado ubuntu.iso
.
Lo que pueda mount
con el comando: mount ubuntu.iso /mnt
. Después del montaje, puedo ver desde la outout del comando df -h
: /dev/loop0 825M 825M 0 100% /mnt
.
Sin embargo, si ejecuto el comando mount -o loop ubuntu.iso /mnt
, obtendré el mismo resultado.
Como sé, el dispositivo de bucle nos permite visitar el archivo iso como dispositivo, creo que es por eso que agregamos la opción -o loop
. Pero puedo visitar mi archivo iso incluso si solo ejecuto mount ubuntu.iso /mnt
.
Entonces no puedo ver la diferencia entre mount
y mount -o loop
.
mount
loop-device
Yves
fuente
fuente
mount ubuntu.iso /mnt
no configura un dispositivo de bucle invertido de solo lectura, ymount /image.squashfs /mnt
no configura un dispositivo de bucle invertidoDIO
(losetup --direct-io=on
).Respuestas:
Ambas versiones usan dispositivos de bucle y producen el mismo resultado; la versión corta se basa en la "inteligencia" añadida
mount
en los últimos años.mount -o loop
le dicemount
explícitamente que use un dispositivo de bucle; deja el dispositivo de bucle en sí mismomount
, que buscará un dispositivo disponible, lo configurará y lo usará. (También puede especificar el dispositivo con, pmount -o loop=/dev/loop1
. Ej .)La inteligencia es que, cuando se le da un archivo para montar,
mount
usará automáticamente un dispositivo de bucle para montarlo cuando sea necesario, es decir , el sistema de archivos no se especifica olibblkid
determina que el sistema de archivos solo es compatible con dispositivos de bloque (y, por lo tanto, un Se necesita un dispositivo de bucle para traducir el archivo a un dispositivo de bloque).La sección del dispositivo de bucle de la
mount
página del manual tiene más detalles.fuente
util-linux
2.11 fue compatiblemount -o loop
en 2001, y creo que 2.10 también lo tenía, al menos un año antes.-o loop
se agregó en algún momento entreutil-linux
2.4 y 2.5j; Debian 1.1 tenía este último y se lanzó en junio de 1996. Por lo tanto, esta opción ha estado disponible en distribuciones durante más de veinte años.mount
podrá cambiar a ese mecanismo de forma transparente (al menos durante los primeros 15 minutos hasta que Resulta que rompió el shellscript de alguien y todos tienen que volver a los dispositivos de bucle) , a diferencia de lomount -o loop
que todavía pide explícitamente el antiguo mecanismo (actual).El
loop
dispositivo se controla principalmente con ellosteup
comando. Por lo tanto,losetup -a
le ofrece información general sobre los dispositivos de bucle utilizados y los archivos adjuntos. Elmount
comando solo puede montar el dispositivo de bloque . El dispositivo de bucle puede crear el dispositivo de bloque virtual a partir de un archivo (dispositivo de caracteres).De hecho, hay una gran diferencia entre esos comandos porque en los sistemas Linux más antiguos
mount
no se podía reconocer el archivo como el dispositivo correcto para montar, pero durante el tiempo que el comando de montaje se completó con muchas características, por lo tanto, ahora puede decidir por sí mismo intente llamar al comando losetup y monte el resultado. Pero si tiene una imagen de disco completa sin formato iso pero, por ejemplo, con MBR al principio, el comando de montaje no puede reconocerla y tiene que encontrar la partición utilizable (por ejemplo, con elparted disk_image.raw unit B print
comando) y luego montarla con la opción completa mount comman como :En esta sintaxis, el dispositivo de bucle no se especificó y se supone que el sistema elige el primer libre (
/dev/loop0
,/dev/loop1
etc.) Entre las otras características nuevas del comando mount es que no necesita especificar el tipo de sistema de archivos del dispositivo de bloque montado (en su caso-t iso9660
) si se instaló el soporte del sistema de archivos.fuente
No hay diferencia entre
mount ubuntu.iso /mnt
ymount -o loop ubuntu.iso /mnt
.El primero se maneja de manera transparente como si hubiera usado el segundo.
fuente