ループデバイスのソースパス

ループデバイスのソースパス

マウントされたパーティションのソースを知る方法があるかどうかを知りたいです。

たとえば、出力は次のようになりますdf -h

/dev/loop1 3M 3M 0 100% /メディア/ループ

この出力により、3Mリサイクルユニットが設置されている場所がわかりますが、デバイスの正確な位置は/media/loopわかりません。/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

/dev/loop1誰がこのパーティションをマウントしたのかわからない場合は、fの絶対パスをどのように知ることができますか? (この場合、パスはです/home/SHW/Downloads/TinyCore-current.iso。)

答え1

使用losetup--listオプション:

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

もしあなたならただファイルが必要な場合は、-Oオプションを使用して列を選択します。

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

このオプションは最新バージョンの一部ですutil-linux。以前のバージョンのみサポート-a管理できない形式ですべてのアクティブデバイスを一覧表示するオプション:

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

いずれにしても、望む方法で処理することはそれほど大きな問題にはなりません。

答え2

サポートファイルパスを取得するには、次のようにします。

cat /sys/block/loop1/loop/backing_file

答え3

/dev/loop1 デバイスの正確な位置がわからない。

デバイスの正確な位置はどういう意味ですか/dev/loop1/dev/loop*ここで、*は数値であり、他のブロックデバイス(ハードディスクなど)にないファイルシステムをマウントするために使用されるループバック(仮想)デバイスです。このコマンドを使用してそれらを列挙し、インストールされている場所を確認し、mountこのコマンドを使用して新しいエントリを設定できますlosetup

/dev/ノードがどの物理デバイスに接続されているかを知りたい場合は、さまざまな方法で確認できます。udevadmudevを使用してクエリできます。私のシステムでは、次のコマンドはsdaディスクに関する追加情報を提供します。

$ 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

これに加えて、lspciデバイスが物理的に接続されている場所に関する詳細な情報を取得するためにも使用できます。私のシステムから/dev/sdaSATAコントローラに接続する:

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

関連情報