引导Chef节点时遇Ruby依赖库libcrypt.so.1缺失错误,如何解决?
解决Chef Bootstrap时libcrypt.so.1缺失问题
问题原因
目标节点使用的是较新的Linux发行版(如Amazon Linux 2023、RHEL 9/CentOS 9等),这类系统默认采用libxcrypt替代了旧版glibc中的libcrypt组件,导致Chef嵌入式Ruby依赖的libcrypt.so.1库文件缺失。
解决步骤
登录目标节点
执行SSH命令连接到节点:ssh -i key-node1.pem ec2-user@172.31.6.156切换至root权限:
sudo -i安装兼容库包
根据节点的发行版选择对应命令:- 若为Amazon Linux 2023:
dnf install libcrypt-compat -y - 若为RHEL 9/CentOS 9:
dnf install libxcrypt-compat -y
该包会创建
libcrypt.so.1的符号链接,满足Ruby的依赖需求。- 若为Amazon Linux 2023:
重新执行Bootstrap命令
在本地机器上再次运行原引导命令:knife bootstrap 172.31.6.156 --ssh-user ec2-user --sudo -i key-node1.pem -N node1
内容的提问来源于stack exchange,提问作者Kartik Agrawal
相关产品推荐
相关产品推荐

