Ruta de origen del dispositivo de bucle

8

Por curiosidad, me gustaría saber si hay alguna forma de averiguar la fuente de la partición montada.

Por ejemplo, la salida de df -hes:

/ dev / loop1 3M 3M 0 100% / media / loop

A partir de esta salida, sé que se monta un dispositivo de bucle de 3M /media/loop, pero no tengo idea para determinar la ubicación exacta del /dev/loop1dispositivo.

root@SHW:~# mount -o loop /home/SHW/Downloads/TinyCore-current.iso
/mnt/loop mount: block device /home/SHW/Downloads/TinyCore-current.iso is write-protected, mounting read-only
root@SHW:~# tail -n1 /proc/mounts
/dev/loop1 /mnt/loop iso9660 ro,relatime 0 0

¿Cómo puedo encontrar la ruta absoluta de /dev/loop1f No sé quién montó esas particiones? (En este caso el camino es /home/SHW/Downloads/TinyCore-current.iso).

SHW
fuente

Respuestas:

10

Use losetupla --listopción :

$ losetup --list /dev/loop0
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         0  0 /tmp/backing-file

Si solo desea el archivo, use la -Oopción para elegir la columna:

$ losetup --list --noheadings -O BACK-FILE /dev/loop0
/tmp/backing-file

Esta opción es parte de versiones recientes de util-linux. Las versiones anteriores solo admiten la -aopción, que enumera todos los dispositivos activos en un formato más difícil de procesar:

$ losetup -a
/dev/loop0: []: (/tmp/backing-file)

De cualquier manera, no es demasiado oneroso procesar como quieras.

Michael Homer
fuente
También se puede usar losetup /dev/(target).
neverMind9
0

Para obtener la ruta del archivo de respaldo use:

cat /sys/block/loop1/loop/backing_file
Nahuel Greco
fuente
-2

No tengo ni idea de determinar la ubicación exacta del dispositivo / dev / loop1.

¿Qué quiere decir con la ubicación exacta del /dev/loop1dispositivo? /dev/loop*donde * es un número son los dispositivos de bucle invertido (virtual), que se utilizan para montar sistemas de archivos que no se encuentran en otros dispositivos de bloque, como los discos duros. Puede enumerarlos y ver dónde están montados, usando el mountcomando y puede configurar uno nuevo usando el losetupcomando.

Si desea saber a qué dispositivo físico /dev/está conectado un nodo, entonces hay formas de hacerlo. Puede usar udevadmpara consultar udev. En mi sistema, los siguientes comandos dan más información sobre el sdadisco:

$ udevadm info --query=path --name=sda
/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0/block/sda
$ udevadm info --query=symlink --name=sda
disk/by-id/ata-ST3500418AS_6VMD78AY disk/by-id/wwn-0x5000c500224ac74f

Además de estos, puede utilizar lspcipara obtener más información sobre dónde está conectado físicamente el dispositivo. En mi sistema, /dev/sdaestá conectado al controlador sata:

$ lspci
[snip]
00:1f.2 SATA controller: Intel Corporation 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
[snip]
NlightNFotis
fuente