You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bootstrap Chef节点时遇libcrypt.so.1缺失错误,求解决方案

解决Chef Knife Bootstrap时libcrypt.so.1缺失的问题

问题重现

执行bootstrap命令:

knife bootstrap 172.31.2.207 --ssh-user ec2-user --sudo -i node-key.pem -N node1

目标节点返回错误:

error :The following error occurred on 172.31.2.207:
error :/opt/chef/embedded/bin/ruby: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory

解决方案

1. 登录目标节点

先通过SSH手动连接到出问题的节点:

ssh ec2-user@172.31.2.207 -i node-key.pem

切换到root权限:

sudo su -

2. 安装缺失的兼容库

根据节点的发行版选择对应的命令:

  • Amazon Linux 3 / RHEL 9 / CentOS 9:libcrypt.so.1被拆分到libxcrypt-compat包中,执行:
    dnf install libxcrypt-compat -y
    
  • Amazon Linux 2 / RHEL 8 及更早版本:直接安装glibc包即可:
    yum install glibc -y
    

3. 重新执行Bootstrap

安装完成后,退出节点SSH连接,重新运行最初的knife bootstrap命令即可完成节点初始化。

原因说明

新的RHEL系发行版(如Amazon Linux 3)默认移除了旧版本的libcrypt.so.1库,该库原本属于glibc组件,现在被迁移到兼容性包中。而Chef的内嵌Ruby环境仍依赖这个旧版本库,因此需要手动安装兼容包来解决依赖问题。

内容的提问来源于stack exchange,提问作者jeet chauhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 15:24:54