您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > Linux系统崩溃修复之-glibc被卸载
系统漏洞扫描,发现openssh存在漏洞,故需要升级。由于在编译安装openssh的时候,执行./configure报错,发现编译环境出现问题。结果卸载了glibc,造成系统崩溃。1、编译环境出现问题,提示checkingforCcompiler...notfound./configure:error:Ccompilerccisnotfound这之前是安装过GCC的。网上查了下,说是编译环境出现了问题,要重装。然后,就卸载了gcc。然后准备用yum重装gcc,又报错了yuminstallgcc.x86_64...............Error:Package:glibc-2.12-1.47.el6.i686(dvd)Requires:glibc-common=2.12-1.47.el6Installed:glibc-common-2.12-1.149.el6_6.5.x86_64(installed)glibc-common=2.12-1.149.el6_6.5Available:glibc-common-2.12-1.47.el6.x86_64(dvd)glibc-common=2.12-1.47.el6Youcouldtryusing--skip-brokentoworkaroundtheproblem2、卸载高版本glibc和glibc-common系统安装的glibc-common版本过高!可能是被升级过。所以计划降低版本,先卸载rpm-e--nodepsglibc-common-2.12-1.149.el6_6.5.x86_64再安装yuminstallglibc-common.x86_64Error:Protectedmultilibversions:glibc-2.12-1.47.el6.i686!=glibc-2.12-1.149.el6_6.5.x86_64发现glibc版本也过高,所以也卸载了#rpm-qa|grepglibcglibc-2.12-1.149.el6_6.5.x86_64warning:/etc/localtimesavedas/etc/localtime.rpmsavewarning:%postun(glibc-2.12-1.149.el6_6.5.x86_64)scriptletfailed,exitstatus127到此系统就完全崩溃了,#cd..#ls-bash:/bin/ls:/lib64/ld-linux-x86-64.so.2:badELFinterpreter:Nosuchfileordirectory此时,基本上所有的命令都用不上了,因为一个依赖库ld-linux-x86-64.so.2丢失。比如,bash,rpm,mount,clear等常用命令都依赖此库。除了发现cd还可以用外。想到的办法就是把ld-linux-x86-64.so.2库放到/lib64/下。可是,要安装glibc的rpm包,或者在机外提取该库,然后传进机器。可是都需要这些常用命令,而命令又不能没有该链接库。系统重启肯定无法正常运行。3、使用linux救援模式,进入系统。拷贝该文件回到原有目录。重启机器,设置bios从cd启动,打开centos64的安装盘。选择rescue模式。成功运行后,之前的系统是被挂载到了/mnt/sysimags下面网上网友提供的解决方法是chroot/mnt/sysimags然后找到RPM包装上,结果根本不行。chroot说/bin/sh不存在。现在能想到的办法就是把原先的rpm包里的东西解压出来,然后cp到lib/64下面具体步骤如下:mkdir/mediamount/dev/sr0/mediacd/mnt/sysimagescp/media/Packages/glibc-2.12-1.149.el6_6.5.x86_64.cp/media/Packages/glibc-common.rpm2cpioglibc-2.12-1.149.el6_6.5.x86_64util.repomkdirutilcdutilcpio-icduv../util.cpio此时就会生成lib64目录,拷贝其中的ld-linux-x86-64到/mnt/sysimages/lib64/或者将生成的lib64目录所有文件拷贝到/mnt/sysimages/lib64/此时,再用chroot就能进入到/mnt/sysimages了然后再用rpm将glibc、glibcommon安装。退出重启即可。4、重新安装gcc,编译环境恢复。
本文标题:Linux系统崩溃修复之-glibc被卸载
链接地址:https://www.777doc.com/doc-2884976 .html