Когда я захожу с LightDM на моем ноутбуке под управлением Debian Unstable, он недавно начал зависать около 2 минут, пока не journalctl
появится сообщение kernel: random: crng init done
. Когда я нажимаю случайные клавиши на клавиатуре, когда она зависает, она входит в систему быстрее (около 10 секунд). Прежде чем у меня не было этой проблемы, есть ли способ, как я могу это исправить?
Редактировать: использовать linux-image-4.15.0-3-amd64
вместо linux-image-4.16.0-1-amd64
работает, но я не хочу использовать старое ядро.
systemd-journald
и (заявленная) потребность в CSPRNG для посева обсуждались в последнее время на различных дискуссионных форумах. Смотрите, например, lists.freedesktop.org/archives/systemd-devel/2018-May/…sudo apt install haveged
sudo systemctl enable haveged
Ответы:
Похоже, какой-то компонент ваших системных блоков при попытке получить случайные данные из ядра (то есть чтение/dev/urandom
или вызовgetrandom()
) из-за недостаточной доступной энтропии (случайности).У меня нет готового объяснения того, почему проблема зависит от конкретной версии ядра или от того, какой компонент в вашей системе фактически блокируется, но независимо от основной причины,Действительно, как указал Бигон в своем ответе , это, похоже, ошибка в ядре, представленная в 4.16:
( https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897572#82 )
... Тем не менее, вы можете попробовать использовать
haveged
илиrng-tools
для сбора энтропии быстрее.источник
rng-tools
не работает на моем ноутбуке, потому что Intel Celeron N2840 не поддерживает AES-NI и, следовательно, не имеет встроенного TRNG.rng-tools
в Debian от 2011 года. У вас естьrng-tools5
пакет, который был представлен недавноdropbear-initramfs
удаленной установки и разблокировки моего дискаcryptroot-unlock
. Простоapt install rng-tools
заставляет вещи волшебным образом работать. Спасибо!haveged
работала на меня. У меня есть старый Intel Core 2 Duo, который не имеет генератора случайных чисел.Это изменение (ошибка?) В ядре, смотрите: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=897572.
Чтобы смягчить эту установку
rng-tools5
кажется, помогает. Обратите внимание, что я не знаю, влияет ли установка этого пакета на генерацию ключей криптографии.Изменить: Видимо, обновление util-linux 2.32 должно исправить проблему
источник
Это ошибка ядра, которая может случиться с разными ядрами.
Запуск
apt-get install rng-tools
какsu
в терминале должен работать.источник
rng-tools
Помогает только в том случае, если ваша система имеет аппаратную поддержку случайных чисел, например, « Безопасный ключ » от Intel . Этот способ придуман с помощью Ivy Bridge . Мои системы с процессорами 1037u (основанные на ivy bridge) не имеют этой аппаратной поддержки. Поэтомуrng-tools
не помогают.На другой системе здесь с процессором Sandy Bridge i3
rng-tools
действительно помочь.rngd
Служба должна быть запущена в самом начале процесса загрузки, для того , чтобы заполнить энтропию очереди. Это имеет место в последовательности загрузки с Ubuntu, я не знаю, верно ли это для других дистрибутивов, но вы можете узнать, как началоrngd
регистрируется в системном журнале.источник
rngd -f -r /dev/urandom
чтобы накачать/dev/urandom
в/dev/random
, хотя это не рекомендуется запускать его таким образом, это вариант ..Может также произойти после удаления раздела подкачки
Висит перед
kernel: random: crng init done
может также произойти после удаления раздела подкачки.Если раздел подкачки удален, файл конфигурации
/etc/initramfs-tools/conf.d/resume
должен быть либо полностью пустым, либо прочитаннымRESUME=
. Удалить любой номер UUID.RESUME=NONE
не является допустимым.Исходная файловая система RAM требует обновления, чтобы эти изменения вступили в силу:
источник
В моем случае я использовал
4.19.0-4-amd64
виртуальную машину Debian Buster (ядро ) на Proxmox VE.Решением было добавить устройство VirtIO RNG в виртуальную машину . На Proxmox это делается путем редактирования файла конфигурации виртуальной машины .
В моем случае я отредактировал
/etc/pve/qemu-server/110.conf
и добавил следующую строку:Инструменты пользовательского пространства (например,
rng-tools
илиhaveged
) не были необходимы.источник