Caminho de origem do dispositivo de loop

6

Por curiosidade, gostaria de saber se existe uma maneira de descobrir a origem da partição montada?

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

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

A partir dessa saída, eu sei que um dispositivo de loop da 3M está montado em /media/loop , mas não tenho nenhuma pista para determinar a localização exata do dispositivo /dev/loop1 .

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/loop1 f Não sei quem montou essas partições? (Nesse caso, o caminho é /home/SHW/Downloads/TinyCore-current.iso .)

    
por SHW 14.07.2014 / 10:44

3 respostas

7

Use a losetup ' --list option :

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

Se você somente quiser o arquivo, use a opção -O para escolher a coluna:

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

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

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

De qualquer forma, não é excessivamente oneroso processar o quanto você quiser.

    
por 14.07.2014 / 11:16
0

Para obter o caminho do arquivo de backup, use:

cat /sys/block/loop1/loop/backing_file
    
por 27.12.2017 / 22:25
-1

I have no clue to determine the exact location of /dev/loop1 device.

O que você quer dizer com a localização exata do /dev/loop1 device? /dev/loop* onde * é um número são dispositivos de loopback (virtual), que são 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 comando mount e você pode configurar um novo usando o comando losetup .

Se você quiser saber para qual dispositivo físico um nó /dev/ está conectado, existem maneiras de fazer isso. Você pode usar udevadm para consultar o udev. No meu sistema, os seguintes comandos fornecem mais informações sobre o sda disk:

$ 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 lspci para obter mais informações sobre onde o dispositivo está fisicamente conectado. No meu sistema, /dev/sda está conectado 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]
    
por 14.07.2014 / 11:17