这篇文章主要介绍Linux升级glibc后无法进入系统怎么办,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
从源码安装升级glibc对于版本老的系统的非常危险的。我使用编译源码的方式将glibc由2.3升级到2.9, 解决了系统ls等各种指令不好使的问题后以为万事大吉。结果重启系统发现系统无法进入了,森马都做不了了。网上的办法试了很多,没有完全能解决问题的。最后,综合网上各种办法,终于解决了问题。
如果网上的办法没法解决你得问题,可以试试我的办法,需要准备的安装包和静态库如下:
安装包
/lib
\usr\lib
将这些安装包和静态库放入一个U盘中,U盘插入无法进入系统的服务器。
准备一张和原系统一致或者接近版本(我原系统是rhel4.5,光盘是rhel4.6)的系统盘,放入光驱。
开机快速按F2,进入
通过+-号调整开机启动顺序,将CD-ROM调整到最上面
按回车,系统重新启动,进入光盘引导界面
按F5,进入
输入 linuxrescue
按回车,稍等一会,进入
按回车,进入
按回车,进入
按回车,进入
将光标移动到No,按回车,进入
按回车,进入
提示原有系统已经挂载到/mnt/sysimage,按回车进入,目前所处的就是光盘抢救模式(rescue mode)
可以看到原有系统的所有文件在/mnt/sysimage下都是可以看见的。
首先将U盘挂载到光盘系统,mount -t vfat /dev/sdb1/mnt/usb/,拷贝rpm 和静态库到/mnt/sysimage下你能记住的任意目录。(不同环境中U盘的标识符不一定是sdb1,在物理机上可能是sda1, 可以通过fdisk –l 命令看各个目录大小来判定哪个是U盘。如果挂载U盘提示格式不对错误,U盘可能是fat16,执行mount -t msdos /dev/sdb1 /mnt/usb/)
此时,之前准备的文件都在/mnt/usb/目录下, 原系统所有文件都在/mnt/sysimage下。将usb目录下的文件拷贝到/mnt/sysimage下面你能记住的任意目录。
执行chroot /mnt/sysimage ,这个指令使你由当前光盘系统切换到原系统,执行pwd和ls可以看到,你所处的目录就是原系统的根目录,你得身份也变成了原系统的管理员。
然后进入U盘文件拷贝到的目录,参照网上方法安装rpm包。然后手动替换/lib /usr/lib的静态库(*.a文件)。
手动修改动态库的软连接(无论安装rpm包时是否自动修改过软连接,都最好手动修改一遍)。
先rm *2.9*,然后
ln -sf libutil-2.3.4.solibutil.so.1
ln -sf libresolv-2.3.4.solibresolv.so.2
ln -sf libnss_nis-2.3.4.solibnss_nis.so.2
ln -sf libnss_nisplus-2.3.4.solibnss_nisplus.so.2
ln -sf libnss_hesiod-2.3.4.solibnss_hesiod.so.2
ln -sf libnss_files-2.3.4.so libnss_files.so.2
ln -sf libnss_dns-2.3.4.so libnss_dns.so.2
ln -sf libnss_compat-2.3.4.solibnss_compat.so.2
ln -sf libnsl-2.3.4.solibnsl.so.1
ln -sf libdl-2.3.4.solibdl.so.2
ln -sf libcrypt-2.3.4.solibcrypt.so.1
ln -sf libBrokenLocale-2.3.4.solibBrokenLocale.so.1
ln -sf libanl-2.3.4.solibanl.so.1
ln -sf libc-2.3.4.solibc.so.6
ln -sf librt-2.3.4.solibrt.so.1
ln -sf libpthread-0.10.so libpthread.so.0
ln -sf libm-2.3.4.solibm.so.6
执行exit退回到光盘系统,
在上图光标处在输入exit回车 ,系统会重新启动。修改BIOS设置系统从硬盘启动,原系统应该可以正常开机进入了。
以上是“Linux升级glibc后无法进入系统怎么办”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。