Получение родительского блочного устройства

Числовые диапазоны плохо подходят для регулярных выражений, так как они требуют, чтобы такие выражения, как

gsed '/192\.200\.1\([6-8][0-9]\|9[01]\)\./s/$/ --- APIv2 SYSTEMS/'

, соответствовали между 160 и 191, поэтому в идеале вам нужно напишите код, который мог бы генерировать выражение, так как вероятность человеческой ошибки при написании или изменении его вручную будет чрезвычайно высока.Лучшим решением может быть то, что понимает IP-адреса и поддерживает нотацию CIDR, например модуль Perl NetAddr :: IP , а затем проанализировать IP-адреса и проверить, находятся ли они -> в пределах некоторого диапазона, проанализированного из другого места.

4
16.07.2016, 02:26
1 ответ

Для неинтерактивной работы это можно сделать с помощью dmsetup deps , в котором перечислены зависимости блочного устройства. По умолчанию он будет возвращать номера устройств major: minor, но вы можете предоставить дополнительные параметры для вывода имени:

dmsetup deps -o devname /dev/mapper/decrypted

Для того, чтобы сделать это в интерактивном режиме, лучше всего просто использовать lsblk , который выводит красиво отформатированный график:

└─sda8                     8:8    0  43.9G  0 part  
  └─sda8_crypt           253:2    0  43.9G  0 crypt 
    ├─vgpersonal-home    253:3    0    83G  0 lvm   
8
27.01.2020, 20:50

Теги

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