首页 > 系统相关 >CentOS7升级Glibc到超过2.17版本无法启动的解决办法

CentOS7升级Glibc到超过2.17版本无法启动的解决办法

时间:2022-11-11 23:11:28浏览次数:51  
标签:界面 glibc 处理 Glibc mnt CentOS7 版本 2.17 虚拟机

CentOS7升级Glibc到超过2.17版本无法启动的解决办法


背景

今天有同事告知服务器宕机无法启动.
提示信息为:
[sda] Assuming drive cache: write through
后系统没有任何反应.
一开始同事说没有做任何处理, 突然至此
我感觉比较奇怪.然后进行了一下简要处理
最终发现是gblic相关.然后在脚本之家找了一个处理方案
但是发现方案上面有一些不太明确的地方.
所以在这里总结一下完整版的处理过程和方法

问题确认

系统无法启动,第一步都是再进入系统的界面输入 "e"
然后修改 rhgb quite 变成 init=/bin/bash
(备注: rhgb = redhatgraphics boot)

进入系统后执行命令
mount -o remount,rw /sysroot
发现还有一个错误提示:
 relocation error: /lib64/libc.so.6: 
 symbol _dl_starting_up, 
 version GLIBC_PRIVATE not defined 
 in file ld-linux-x86-64.so.2 with link time reference

至此才发现是glibc的问题导致的 

glibc问题处理-long time ago

网上很多解决方案一般是说再不关机的情况下的处理.
但是减少有重启了机器后的处理
很早之前同事给centos7 安装 tfs-agent时就导致过宕机
但是当时虚拟机是新作的我也懒的去查解决方案
就重新给了一个centos8 的虚拟机了事. 

话说centos 虽然非常稳定. 但是他的内核和核心组件升级
是真心的非常慢. 
现在都准备过度到OpenEuler上面来. 

glibc问题的处理

Study from
https://www.jb51.net/article/230473.htm

解决方案基本上照抄 就是改了一两个小细节. 

glibc问题的处理

给虚拟机挂在上CentOS的ISO镜像文件.
然后重启虚拟机. 

注意如果无法进入安装界面的话,可以修改虚拟机配置
在 配置界面的 选项->高级-引导选项 中选中
"虚拟机下次引导时 强制进入BIOS选项"
然后进入BIOS后修改启动顺序为CD-ROM 为第一位. 

进入CentOS的安装界面(系统仅会等待60S,需要尽快处理 )
选中trobleshooting 
然后进行rescue 操作系统.

glibc问题的处理

进入rescue 后 选择continue
会进入修复界面
需要说明一点. 不要按照要求进行
chroot /mnt/sysimage 的处理
不然还会无法执行相关的命令(这个root 是损坏的)
可以执行如下命令

ls -l /mnt/sysimage/lib64/glibc-* 

查看对应的有问题的glibc的版本. 
脚本之家里面说的是 2.18 我这边同事升级的是2.25
注意必须清理掉非2.17版本的glibc 才可以, 不然会做无用功. 
需要针对不通版本进行清理.

rm -rf /mnt/sysimage/lib64/*2.25* 

# 注意这一步必须按照上一步的版本来, 不然无效.

glibc问题的处理

重新安装glibc
方法比较简单
在rescue的界面下
mkdir /rpm
mount /dev/cdrom /rpm
cd /rpm/Packages/
执行命令
rpm -ivh --force --root=/mnt/sysimage glibc*
# 注意这个命令里面 --root 是核心命令. 指定往哪个挂载目录执行命令.

重启验证

重启一般可以进入图形界面
但是其他组件比如sshd 或者是升级了glibc 后又安装的软件可能无法使用
需要单独在处理.

标签:界面,glibc,处理,Glibc,mnt,CentOS7,版本,2.17,虚拟机
From: https://www.cnblogs.com/jinanxiaolaohu/p/16882355.html

相关文章

  • centos7安装docker
    环境查看centos需要7版本以上,内核最好3.10以上1.查看Linux版本:rpm-qcentos-release2.查看内核版本:uname-r安装卸载旧组件sudoyumremovedocker\......
  • Linux Centos7 部署步骤 mysql
    0.首先查看cpu架构uname-a输出内容中有关键词ARM或aarch64就是ARM架构,有关键词x86_64就是X86架构1.下载mysql8(https://dev.mysql.com/)选择 RedHat......
  • LINUX CENTOS7 部署步骤 Ftp
    0.linux中FTP服务叫做vsftpd1.查看ftp是否安装rpm-qa|grepftp2.查找vsftpyumlist|grepvsftp3.安装vsftpdyum-yinstallvsftpd4.验证是否安装......
  • CentOS7 安装mysql8
    1、下载并解压mysql安装包https://downloads.mysql.com/archives/community/  放到服务器后解压-C放到指定文件夹tar-xvfmysql-8.0.30-linux-glibc2.12-x86......
  • K8s部署,基于VMware+centOS7.9
    镜像来源于阿里云的centos镜像,安装VMware过程省略搭建一个master节点,三个node节点。配置都是2c8g安装前准备所有的节点都需要进行此操作1:所有节点禁止防火墙systemctl......
  • Windows和Centos7安装uWSGI
    uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。WSGI是一种Web服务器网关接口。它是一个Web服务器(如n......
  • centos7安装php8
    原文: http://www.manongjc.com/detail/25-qpyxndyogppmfdf.html前言centos7默认源的php版本只有5.4,版本太老,而mediawiki需要的php版本为7.4以上,所以本文直接升级到php8......
  • CentOS7 卸载 mysql8
    1、停掉mysql服务servicemysqlstop查看已安装的mysqlrpm-qa|grepmysql2、卸载mysql服务yumremovemysql-servermysqlmysql-libs再次查看是否还有......
  • centos7自建yum仓库同步阿里云yum源
    背景:内网环境服务器不能直接安装工具或服务,可以用一台外网服务器同步阿里云的yum仓库,作为本地仓库搭建本地yum仓库编辑yum配置文件,开启缓存使用功能,设置缓存路径cp/e......
  • CentOS7.9安装twemproxy,实现redis集群
    1、twemproxy下载下载地址:https://github.com/twitter/twemproxy.gitcd/www/servermkdirtwemproxycdtwemproxygitclonehttps://github.com/twitter/twemproxy.......