我在我的一台生产服务器和它非常老的RHEL 4主机上做了一个错误。 由于最近的“shellshock漏洞”,我错误地把这个bash升级到了RHEL5的repo版本。
现在我正在-bash: error while loading shared libraries: requires glibc 2.5 or later dynamic linker出现错误-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
现在我无法login到服务器也尝试重新启动主机与旧版本的内核和所有,但没有奏效。 我尝试重新启动主机进入单用户模式,但它也不能正常工作。 我完全陷入这个问题,对我们来说非常关键。
谢谢,
您可以执行以下操作
用控制台选项重新启动主机,编辑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
现在重启
从RHEL 4.x安装介质引导系统,您应该为此保持方便。
在启动菜单中,启动进入救援模式。
救援模式将把你的文件系统安装在/mnt/sysimage ,然后你可以在这里进行工作。
要解决这个问题,请为EL4find一个bash 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