SSH 登录失败“-bash:加载共享库时出错:需要 glibc 2.5 或更高版本的动态链接器”

SSH 登录失败“-bash:加载共享库时出错:需要 glibc 2.5 或更高版本的动态链接器”

我在我的一台生产服务器及其非常老旧的 RHEL 4 主机上犯了一个错误。由于最近的“shellshock 漏洞”,我错误地将 bash 从 RHEL5 repo 升级到了错误的版本。

现在我收到了错误-bash: error while loading shared libraries: requires glibc 2.5 or later dynamic linker

完整错误:

ssh [email protected]

-bash: error while loading shared libraries: requires glibc 2.5 or later dynamic linker

现在我无法登录服务器,我也尝试使用旧版本的内核重新启动主机,但都不起作用。我尝试将主机重新启动到单用户模式,但也没有用。我完全被这个问题困住了,这对我们来说非常关键。

谢谢,

答案1

您可以执行以下操作

使用控制台选项重新启动主机,然后编辑 grub 以"init=/bin/ksh"在内核行末尾添加并启动,以便获得 shell

现在挂载 proc 分区

mount -t proc none /proc

重新挂载根分区:

mount -o remount,rw /

删除新的 rpm

rpm -q bash
bash-Old _version
bash-new-version 

rpm -e bash-new_version

确认您拥有旧版本

rpm -q bash
bash-Old _version

现在重启

答案2

从 RHEL 4.x 安装媒体启动系统,您应该已准备好该媒体。

在其启动菜单中,启动进入救援模式。

救援模式将会把您的文件系统挂载在/mnt/sysimage,然后您就可以在那里对其进行操作。

要解决此问题,找到bashEL4 的 RPM,启动救援环境后下载并重新安装,例如:

cd /mnt/sysimage/var/tmp
wget http://www.example.com/bash-3.0-27.0.1.el4.i386.rpm
rpm --root /mnt/sysimage -Uvh --oldpackage bash-3.0-27.0.1.el4.i386.rpm

相关内容