Anteriormente solía crear archivos de imagen usando dd, configurar un sistema de archivos en ellos usando mkfsy mountacceder a ellos como particiones montadas. Más tarde, he visto en Internet que muchos ejemplos usan de losetupantemano para hacer una entrada de dispositivo de bucle debajo /devy luego montarlo. No podría decir por qué uno prácticamente necesitaría un archivo de imagen para comportarse como un dispositivo de bucle y tener su propia /deventrada, mientras que se puede obtener el mismo comportamiento sin toda la molestia.
Resumen: en un escenario de la vida real, ¿por qué necesitamos una /dev/loopXentrada para estar presente, cuando simplemente podemos montar la imagen fs sin ella? ¿De qué sirve un dispositivo de bucle?

mountes lo suficientemente inteligente como para molestarlo. (como muestra Stephen Harris en su respuesta)Respuestas:
Los montajes, por lo general, deben realizarse en dispositivos de bloque. El controlador de bucle coloca un dispositivo de bloque front-end en su archivo de datos.
Si realiza un montaje en bucle sin
losetup, el sistema operativo hace uno en segundo plano.p.ej
Es posible que deba llamar
losetupdirectamente si la imagen de su archivo tiene particiones integradas.Por ejemplo, si tengo esta imagen:
No puedo montar eso directamente
Pero si uso
losetupykpartxluego puedo acceder a las particiones:fuente
losetup, solo usemount -o loop,offset=$((512*2048)), donde512está el tamaño del sector, y2048es lo quefdiskdio a partirStartde la partición.losetupykpartx. Deje que las herramientas hagan el trabajo duro :-)Los sistemas de archivos esperan leer y escribir en dispositivos de bloque, pero los archivos de imagen no son dispositivos de bloque. Los dispositivos de bucle proporcionan un dispositivo de bloque encima de un archivo (u otro dispositivo de bloque, opcionalmente con reasignación).
No hay necesidad de considerar los dispositivos loop al montar las imágenes en muchos casos porque
mountse encarga de todo para usted; pero los dispositivos de bucle todavía están involucrados.losetup -l -ales mostraráVea también ¿Cuál es la diferencia entre mount y mount -o loop ?
fuente
mount?mountse encarga delosetupagregar,-o loopetc.Parece que estás en Linux y Linux usa un nombre incorrecto para esa característica.
Inventé esa característica en 1988 en SunOS-4.0 y llamo a esa característica
fbk: el archivo emula el dispositivo BlocK.El fondo es que el controlador del dispositivo emula un dispositivo de bloque en la parte superior de un archivo sin formato. Necesita esto ya que un sistema de archivos no puede usar un archivo plano como almacenamiento de fondo para un sistema de archivos. Más bien necesita un dispositivo de bloqueo y esto es lo que
fbkemula.Desde hace un tiempo, algunas personas hicieron que el programa fuera
mountun poco más inteligente y hay implementaciones de montaje que crean automáticamente unafbkinstancia para un archivo en caso de que elmountprograma detecte que el argumento que se espera que sea un dispositivo de bloque parece ser un archivo de plan.fuente
lofidispositivo ("archivo loopback") que funcionaba de manera similar; BSD los introdujo bajo el nombrevnd("disco vnode") por lo que el concepto ha tenido muchos nombres diferentes a lo largo de los años.Incluso si no fuera necesario en segundo plano para montar sistemas de archivos a partir de archivos, igual lo necesitaría para cualquier configuración que use un controlador o programa que espere absolutamente un dispositivo de bloque. Piense en servidores nbd (dispositivo de bloque de red), controladores de dispositivos de bloque compuesto como mdraid, lvm, etc.
fuente