您当前的位置: 首页 >  centos

qq_34412985

暂无认证

  • 0浏览

    0关注

    1061博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

glibc手动升级高版本导致系统(RedHat/Centos)异常(无法开机等)的解决方法(回退低版本glibc)

qq_34412985 发布时间:2019-09-22 13:38:07 ,浏览量:0

我的系统是centos7.5, 理论上Centos7都可以使用该方法解决问题。 首先慎重提醒各位:glibc升级会产生无法预料的后果!由于php7需要高版本的glibc-2.17才可以使用,所以作死手动去更新了glibc2.17,使得重启系统后图形界面消失。(Redhat/Centos升级此类安装包最好用yum升级,因为系统内的程序对他们的依赖很大,升级会导致大部分程序无法使用。)

解决思路:

    用系统自带的rpm包去覆盖已经安装的程序。     由于此时可能连系统都进不了了,所以需要光盘进入到rescue模式去挂载系统盘修改安装rpm包

步骤

    下载好该系统版本安装光盘的iso,比如我的系统是centos7.5,则我在官网下载iso:centos-7-x86_64-dvd-1804.iso     从U盘启动进入rescue模式,需要在bios中设置U盘优先启动,根据提示进入到rescue模式。

    U盘启动界面选择Rescue     进入到rescue模式之后,linux系统选择U盘启动项后会出现找不到U盘,可根据以下提示进行:

将CentOS 7镜像刻到U盘之后,向服务器安装时,使用U盘启动会出现两种启动选项,一种是UEFI启动选项,一种是默认的启动选项,如果不使用UEFI方式安装,那么一般是没有问题的,如果选择UEFI方式安装系统,那么引导系统时会出现如下的提示:

  [sdb] No Caching mode page found

  [sdb] Assuming drive cache:write through

  ....   Could not boot   /dev/root does not exist

  然后命令行就卡在这了,现在只需要耐心等待,等一会之后会不断的滚动错误警告,这个时候继续等待,那么一会就会出来命令行输入界面,这个时候输入以下命令:

ls /dev/sd*

  输入命令之后会列出所有的存储设备,这个时候一般情况下第一块硬盘是sda,如果有多个分区,那么依次就是sda1、sda2等等,如果有两块硬盘那么就是sdb,U盘一般是排最后的号,如果有一块硬盘,那么U盘就是sdb,如果有两块硬盘,那么U盘就是sdc,U盘一般会有sdc和sdc4两个选项,sdc属于U盘存储,sdc4就是镜像所在分区了,这样一般是没有问题的,如果出现问题,那么接下来多配置几次就好了,接下来输入命令reboot重启计算机,在安装界面,先不要选择安装,这个时候按一下e键,会进入编辑界面,移动光标进行如下修改:

  在第二行默认是:vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet

  把这行修改为:vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdc4:/ quiet       我用的u盘是/dev/sdb4:/

  就是把hd:和quiet之间的内容修改为U盘镜像所在位置这样就可以了,注意要写成/dev/sdc4:/   

  然后根据提示按Ctrl+X键就可以开始安装了,现在就正常进入安装界面了

    已经进入rescue模式

    进入到系统所在目录将之前升级之后的glibc删除干净,此操作先备份好系统

# cd /mnt/sysimage/lib64    //进入到要修复系统的lib64目录 # rm -rf *2.18*             //此操作会删除所有与2.18版本glibc的文件 # cd /                      //回到rescue自带系统的目录

    挂载iso镜像以便使用rpm包

# mkdir media                               //创建目录 # mount /dev/cdrom /media                   //挂载光盘  我用的u盘是/dev/sdb4

    安装rpm包

# cd /media/Packages               //进入到rpm包的目录 # rpm -ivh --force --root=/mnt/sysimage glibc-*     //安装与glibc有关的rpm包

    重启电脑进入系统后,系统会自动修复好并自动重启,此时应该可以恢复正常。

注意:此方法仅针对Redhat7/Centos7以上。

参考此文章:https://blog.csdn.net/weixin_42881528/article/details/85142674

                     https://www.cnblogs.com/freeweb/p/5213877.html

关注
打赏
1653291990
查看更多评论
立即登录/注册

微信扫码登录

0.0407s