Проверьте, какие сетевые блочные устройства используются

Нет, но: rxvt-unicode имеет поддержку вкладки.

Добавьте это к Вашему .Xdefaults/.Xresources:

urxvt.perl-ext-common: default,tabbed

Мне также нравится отключать расширение жемчуга 'выбора' так, чтобы было возможно к triple-click-and-drag выбрать несколько полных строк (как в xterm). Затем Ваш .Xdefaults был бы похож на это:

urxvt.perl-ext-common: default,tabbed,-selection
3
02.08.2015, 20:18
2 ответа

nbd-client -c / dev / nbdX не выполняет работу правильно.

Он может сказать, что / dev / nbdX не используется, хотя он все еще используется внутри драйвера ядра. В этом случае вы не увидите этого ни в dmsetup , ни в nbd-client .

Пример:

% nbd-client -c /dev/ndb2; echo $?
1
% e2fsck /dev/nbd2; echo $?
e2fsck 1.42.13 (17-May-2015)
/dev/nbd2 is in use.
e2fsck: Cannot continue, aborting.
8

На самом деле второй индикатор, который вам нужен, выявляется с помощью fsck :

% strace e2fsck /dev/nbd2 2>&1 | grep open | grep /dev/nbd2
open("/dev/nbd2", O_RDONLY|O_EXCL) = -1 EBUSY (Device or resource busy)

Сравните это с действительно неиспользуемым NBD-устройством:

% nbd-client -c /dev/ndb1; echo $?; strace e2fsck /dev/nbd1 2>&1 | grep open | grep /dev/nbd1
1
open("/dev/nbd1", O_RDONLY|O_EXCL) = 4

Итак, это правильный способ определить / dev / nbdX не используется:

nbd-available()
{
nbd-client -c "$1";
[ 1 = $? ] &&
python -c 'import os,sys; os.open(sys.argv[1], os.O_EXCL)' "$1" 2>/dev/null;
}
get-available-nbd()
{
local a;
for a in /dev/nbd[0-9] /dev/nbd[1-9][0-9];
do
  nbd-available "$a" || continue;
  echo "$a";
  return;
done
return 1;
}

используйте его как nbd = "` get-available-nbd` "|| ошибка «нет свободного устройства NBD»

0
27.01.2020, 21:29

От man страница:

nbd-client -c /dev/nbdX
2
27.01.2020, 21:29

Теги

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