Intereting Posts
RX и TX рассчитываются на различных промежуточных интерфейсах между двумя виртуальными машинами Facelifting XClock при использовании Xrender: длинная и извилистая дорога Почему Debian недооценивает пространство, доступное при установке Qt? Альтернативная команда для цветного просмотра размера всех файлов и папок Понимание вывода последнего завершения перезагрузки Как запустить xrestop удаленно? Правило Udev для соответствия USB-устройству нескольких узлов Могу ли я ограничить sudoer nopasswd каталогом? Как установить часы в Debian 8 Использование даты -1day с помощью wget Есть ли доступ к файлу Linux, который позволяет приложению читать файл, но не пользователь? Загрузка с различными настройками X Solaris 11: как получить свойства pkg в машиночитаемом формате Проблема с удалением пакета rpm zsh: сделать остановку ALT + BACKSPACE у не буквенно-цифровых символов

Как найти, какие изображения принадлежат тому / dev / loop?

Я много работаю с образованными дисками, а это значит, что нужно сделать 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 – или ядро, или что-нибудь еще – сказать мне, какой образ идет туда?

EDIT Кроме того, если я случайно rm файл-образ, а kpartx добавил сопоставления, как вы удаляете сопоставления? kpartx хочет, чтобы фактическое изображение присутствовало.

    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 

    Обратите внимание, что с более старыми версиями вы можете использовать вместо --list вместо --list , а это --list в другом и теперь устаревшем формате.

    Информация поступает из /sys :

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

    Другой, возможно, более переносимый вариант – получить его от udisks:

     $ 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 . Для этого требуется только устройство цикла в качестве параметра; он не заботится о файле / устройстве резервного копирования.

    Я бы также добавил следующее. Вы можете определить, где устройства сопоставлены с kpartx. Например:

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

    Это полезно, когда вы забудете, где файлы отображаются. Конечно, loop0p1 и loop0p2 отображаются в каталоге / dev / mapper.