1. 现象描述
linux 启动后运行sshd 服务,发现sshd 会阻塞几分钟;
2. 原因
经过查看系统启动日志(dmesg 可以查看到启动日志),发现 sshd 阻塞结束前后,系统启动日志内容多了两行,最终分析是因为 /dev/random 设备启动过慢。
查找资料得知,增加熵可以让 random 快速运行; (只要对 random 有依赖的软件都会启动慢)
3. 安装 haveged
3.1 下载安装包
下载地址(url):http://www.issihosts.com/haveged/downloads.html
选择安装包,点击鼠标右键,复制链接
在 linux 下通过 wget 下载
3.2 编译 haveged
- 解压
# tar -zxvf haveged-1.9.2.tar.gz
- 生成 makefile
./configure --host=aarch64-poky-linux --prefix=/workspace/tools/
--host 可以指定要移植的系统类型
- make
make && make install
- 检查是否安装成功
到安装时指定的目录找到 havedeg
执行 havedeg -h, 显示如下内容说明安装成功
4. 查看效果
查看当前熵大小
cat /proc/sys/kernel/random/entropy_avail
运行 havedeg 命令
haveged -F -d 32 -w 1024 --verbose=1
再次查看熵大小
cat /proc/sys/kernel/random/entropy_avail