Узнайте, какое циклическое устройство находится позади dev картопостроителя blcok устройство

Я использую cryptsetup с устройствами закольцовывания. Я ищу способ, учитывая отображение устройства, определить, какое устройство закольцовывания используется этим устройством.

т.е. получите/dev/loop1 в результате операции на/dev/mapper/some_mapping

Как это может быть сделано?

Спасибо.

3
задан 12 August 2013 в 14:00
3 ответа

cryptsetup status some_mapping распечатывает запись устройства , поэтому я думаю, что это сработает для вашего случая (не уверен в более общем / dev / mapper вопрос, когда не используется cryptsetup ).

0
ответ дан 3 December 2019 в 06:36

это древняя тема, я знаю, но ответ может пригодиться будущему поколению скриптовых программистов

Я нашел хотя бы какой-то ответ на упомянутый вопрос, находясь в путешествии:

все устройства могут быть отображены с помощью

$ losetup -a

/dev/loop0: [2065]:25 (/mnt/live/memory/data/slax/01-core.sb)
/dev/loop1: [2065]:26 (/mnt/live/memory/data/slax/02-xorg.sb)
/dev/loop2: [2065]:27 (/mnt/live/memory/data/slax/03-kdeps.sb)
(...)

одного с (допустим, интересуются `02-xorg. sb"

$ losetup -j /mnt/live/memory/data/slax/02-xorg.sb

/dev/loop1: [2065]:26 (/mnt/live/memory/data/slax/02-xorg.sb)

теперь, как видно, устройство находится в первом поле/столбце (если разделять строку пробелами), поэтому для извлечения его можно использовать awk, только не забудьте удалить ':' с помощью замены

$ losetup -j /mnt/live/memory/data/slax/02-xorg.sb | awk '{sub(/:/,"",$1); print $1}'

/dev/loop1

~~ cieply

.
3
ответ дан 3 December 2019 в 06:36

losetup показывает номер устройства, когда вы используете его как root или когда вы находитесь на групповом диске (на кольцевом устройстве требуется ioctl).

Числа, которые вы видите на одном из других ответы (например, 2065) можно разложить путем деления и модификации на 256, т.е. 2065/256 = 8, что является устройством scsi, и 2065% 256 = 17, то есть /dev/sdb1.

0
ответ дан 3 December 2019 в 06:36

Теги

Похожие вопросы