Я не знаком с Kali, но когда у меня возникают проблемы с интерфейсами командной строки, мне помогает опция справки. У меня была аналогичная проблема с созданием CSR, и через справку -я заметил, что скопированный код немного неверен. Попробуйте:
openssl x509 -req -CA myca.crt -help
Как я уже сказал, я не знаком с Kali, но воспользуйтесь любым доступным вариантом справки и посмотрите, сможете ли вы выяснить, в чем заключается ошибка.
До ядра 3.1 вам нужно было установить фиксированное количество устройств цикла. Начиная с 3.1 есть /dev/loop-control
, и устройства шлейфов выделяются динамически по мере необходимости, а не фиксированным числом. Таким образом, вместо того, чтобы иметь сотню петлевых устройств, которые вам никогда не понадобятся (на всякий случай ), он начинается с 0 устройств (или необязательного минимального количества )и создает их только тогда, когда это действительно необходимо.
Изman 4 loop
:
/dev/loop-control
Since Linux 3.1, the kernel provides the /dev/loop-control device,
which permits an application to dynamically find a free device, and to
add and remove loop devices from the system.
Очень хороший исходный код(drivers/block/loop.c
)описывает это:
/*
* If max_loop is specified, create that many devices upfront.
* This also becomes a hard limit. If max_loop is not specified,
* create CONFIG_BLK_DEV_LOOP_MIN_COUNT loop devices at module
* init time. Loop devices can be requested on-demand with the
* /dev/loop-control interface, or be instantiated by accessing
* a 'dead' device node.
*/
Также рекомендуется вообще не устанавливать:
* Note: Global-for-all-devices, set-only-at-init, read-only module
* parameteters like 'max_loop' and 'max_part' make things needlessly
* complicated, are too static, inflexible and may surprise
* userspace tools. Parameters like this in general should be avoided.
Сколько петлевых устройств можно тогда реально использовать? Предел — это максимальное количество второстепенных устройств для одного основного устройства (, поскольку loop
имеет один основной блок 7 ), который ограничен MINORBITS
(, поэтому 2 20 , всего более миллиона ).
Я пытался заставить некоторые большие числа как это:
truncate -s 1M foobar
i=1
while losetup --show /dev/loop$(($i-1)) foobar
do
i=$(($i*2))
done
...но в конце концов это вызвало панику ядра. ;-)
sysfs: cannot create duplicate filename '/devices/virtual/bdi/7:1048575'
kobject_add_internal failed for 7:1048575 with -EEXIST, don't try to register things with the same name in the same directory.
Это соответствует лимиту 2 20 .