どのイメージがどの/ dev / loopに属しているかを見つける方法は?


9

私はイメージ化されたドライブで多くの作業をします。つまり、問題のドライブのddコピーを実行してから、ドライブ自体ではなくイメージで作業します。

ほとんどの作業では、kpartxを使用してドライブのパーティションを/ dev / mapper /の下のデバイスにマップします。ここで私が疑問に思うのは、どのマッピングがどの画像に属するかを見つける方法があるかどうかです。

このことを考慮:

root@vyvyan:/tmp# kpartx -a -v Image1 
add map loop1p1 (254:4): 0 10240 linear /dev/loop1 2048
add map loop1p2 (254:5): 0 10240 linear /dev/loop1 12288
add map loop1p3 (254:6): 0 52848 linear /dev/loop1 22528
root@vyvyan:/tmp# kpartx -a -v Image2
add map loop2p1 (254:7): 0 33508 linear /dev/loop2 2048
add map loop2p2 (254:8): 0 39820 linear /dev/loop2 35556

ここで、どの画像がどのマッピングに移動したかを忘れたとします。kpartx(またはカーネルなど)に、どのイメージがどこに移動するかを通知する方法はありますか?

編集また、kpartxがマッピングを追加しているときに誤ってイメージファイルをrmした場合、どのようにマッピングを削除しますか?kpartxは、実際のイメージが存在することを望んでいます。

回答:


13

losetup (通常それらを設定するために使用されるコマンド)はあなたに教えてくれます:

$ /sbin/losetup --list
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         0  0 /var/tmp/jigdo/debian-7.6.0-amd64-CD-1.iso

古いバージョン-aでは--list、の代わりにuseを使用した方がよい場合があることに注意してください。これは、現在では別の非推奨の形式で出力されます。

情報は以下から取得され/sysます:

$ cat /sys/class/block/loop0/loop/backing_file 
/var/tmp/jigdo/debian-7.6.0-amd64-CD-1.iso

別の、おそらくよりポータブルなオプションは、udiskから取得することです。

$ udisksctl info -b /dev/loop0
/org/freedesktop/UDisks2/block_devices/loop0:
⋮
  org.freedesktop.UDisks2.Loop:
    Autoclear:          false
    BackingFile:        /var/tmp/jigdo/debian-7.6.0-amd64-CD-1.iso
    SetupByUID:         1000
⋮

losetup-dオプションを使用して、それらを喜んで削除します。これには、パラメーターとしてループデバイスが必要です。それはバッキングファイル/デバイスを気にしません。


losetup -d / dev / loop0: "loop:ca n't delete device / dev / loop0:Device or resource busy"。しかし、それはどのような方法でもマウントまたは使用されていません。どうしてこれなの?
bos

@bos / dev / mapperの下にマッピングされていますか?それはおそらく使用中と見なされます。デバイスマッパーマッピングをクリアします。(kpartxにそれを行う方法がない場合は、dmsetupを使用できます)
derobert

0

以下も追加します。デバイスがkpartxでマップされている場所をプローブできます。例えば:

%> sudo kpartx -lv /dev/loop0
loop0p1 : 0 122880 /dev/loop0 8192
loop0p2 : 0 8257536 /dev/loop0 131072

これは、ファイルのマッピング場所を忘れたときに役立ちます。もちろん、loop0p1とloop0p2はディレクトリ/ dev / mapperの下にマップされます。


ループデバイスがマップされるディレクトリをkpartxが明示的にリストしていると便利です。
Xofo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.