背景
在搭建Ubuntu16.04的本地apt源时,需要运行“gpg --gen-key”命令,但是在执行该命令时,出现了:“Not enough random bytes available. Please do some other work to give the OS a chance to collect more ”的提示,而且一直卡住。
分析
更详细的提示,参加:
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
根据提示,该命令生成key时,需要kernel为该程序生成足够多的随机数,因此,我们只需要为kernel生成随机数即可。
解决方法:
安装rng-tools工具,该工具可以像指定文件生成随机数。这里,我们不需要退出原正在执行gpg --gen-key命令的console,新建一个终端,执行如下命令。命令执行完成后,原来卡住的界面就恢复运行了。
$ apt-get install rng-tools
$ rng -r /dev/urandom