Caminho de origem do dispositivo de loop

8

Por curiosidade, gostaria de saber se há uma maneira de descobrir a fonte da partição montada?

Por exemplo, a saída de df -hé:

/ dev / loop1 3M 3M 0 100% / mídia / loop

A partir desta saída, eu sei que um dispositivo de loop da 3M está montado /media/loop, mas não tenho idéia para determinar a localização exata do /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

Como descubro o caminho absoluto de /dev/loop1não sei quem montou essas partições? (Nesse caso, o caminho é /home/SHW/Downloads/TinyCore-current.iso.)

SHW
fonte

Respostas:

10

Use losetupa --listopção :

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

Se você deseja apenas o arquivo, use a -Oopção para escolher a coluna:

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

Esta opção faz parte de versões recentes do util-linux. As versões anteriores suportam apenas a -aopção, que lista todos os dispositivos ativos em um formato mais difícil de processar:

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

De qualquer maneira, não é excessivamente oneroso processar como você deseja.

Michael Homer
fonte
Pode-se também apenas usar losetup /dev/(target).
neverMind9
0

Para obter o caminho do arquivo de backup, use:

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

Não tenho idéia para determinar a localização exata do dispositivo / dev / loop1.

O que você quer dizer com localização exata do /dev/loop1dispositivo? /dev/loop*onde * é um número são dispositivos de loopback (virtual), usados ​​para montar sistemas de arquivos que não estão localizados em outros dispositivos de bloco, como discos rígidos. Você pode enumerá-los e ver onde eles estão montados, usando o mountcomando e pode configurar um novo usando o losetupcomando

Se você deseja saber a qual dispositivo físico um /dev/nó está conectado, existem maneiras de fazer isso. Você pode usar udevadmpara consultar o udev. No meu sistema, os seguintes comandos fornecem mais informações sobre o 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

Além desses, você pode usar lspcipara obter mais informações sobre onde o dispositivo está fisicamente conectado. No meu sistema, /dev/sdaestá anexado ao 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
fonte