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 后又安装的软件可能无法使用
需要单独在处理.

CentOS7升级Glibc到超过2.17版本无法启动的解决办法的更多相关文章

  1. centos 6.5 升级php到5.6.17版本

    1. 下载php5.6.17版本:编译安装, ./configure --prefix=/usr/local/php5. --with-config-/etc --with-mysql=/usr/lo ...

  2. Windows系统安装————windows7 企业版 无法安装 NET.framework4.52-4.6版本在WIN7下解决办法

    官方安装包下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48137 我安装了NMM后提示NET.framework版本太低 ...

  3. windows7系统下升级到IE11时无法使用F12开发人员工具的解决办法

    windows7系统下升级到IE11时,发现F12开发人员工具无法使用,打开都是空白的 解决办法,就是下载IE11的补丁,下载地址为:https://www.microsoft.com/zh-CN/d ...

  4. IAR升级之后,编译stm32官方工程报错的解决办法

    IAR升级之后,打开stm32官方例程,编译时提示如下错误: Error[Pe147]: declaration is incompatible with "__nounwind __int ...

  5. CentOS7升级系统内核至4.4.xx版本

    CentOS7.x系统自带的3.10.x内核存在一些Bugs,导致运行的Docker.kubernetes不稳定,建议升级内核,容器使用的坑会少很多 下载内核源 rpm -Uvh http://www ...

  6. centos7升级自带的php5.4版本到php5.6

    history命令历史 8 yum provides php #自带的只有5.4版本 9 rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-relea ...

  7. CentOS7.x以上版本配置DNS失效解决办法

    这2周做实验,centos7.x经常出现yum安装软件包的时候找不到解析地址,提示如下错误 正在尝试其它镜像. Error downloading packages: pam-devel-1.1.8- ...

  8. mysql数据库二进制初始化出现:170425 17:47:04 [ERROR] /application/mysql//bin/mysqld: unknown option '--skip-locking' 170425 17:47:04 [ERROR] Aborting 解决办法

    [root@localhost mysql]# ./scripts/mysql_install_db --user=mysql --basedir=/application/mysql/ --data ...

  9. Mac 下面 apache 不解析PHP(or PHP 版本不对)的解决办法

    Mac 升级到 EI Caption 之后发现 apache 的配置被重置了,记录下解决的步骤: 在 apache2 配置文件中修改 PHP 的扩展路径即可: vi /etc/apache2/http ...

  10. centos7安装python3.6后导致防火墙功能无法正常工作的解决办法

    问题:因为默认python版本被设置成了python3.6,而进行防火墙的指令操作频频报错. Jul 19 16:30:51 localhost.localdomain systemd[1]: Sta ...

随机推荐

  1. 知识+AI融合创新探索,华为云论文被AI顶级学术期刊IEEE TPAMI接受

    摘要:通过利用物体类别之间存在的层级关系约束,自动学习从数据中抽取识别不同类别的规则,一方面对模型的预测过程进行解释,另一方面也提供了一条引入人工先验知识的可行途径. 前言 受益于深度学习技术的突破, ...

  2. APP搜索如何又快又准?

    摘要:搜索的概念深入人心,但做好一个体验绝佳的搜索服务并不是一件容易的事. 本文分享自华为云社区<云搜索服务在APP搜索场景的应用>,作者:写代码的贺大师 搜索无处不在,尤其是在移动互联的 ...

  3. iOS App的打包和上架流程

    ​ 转载:iOS App的打包和上架流程 - 掘金 1. 创建账号 苹果开发者账号几种开发者账号类型 个人开发者账号 费用:99 美元/年(688.00元) 协作人数:仅限开发者自己 不需要填写公司的 ...

  4. vivo商城前端架构升级—多端统一探索、实践与展望篇

    一.引言 本文将会从整体上介绍 vivo 商城在前端维度的多端统一探索和实践. 从多端价值.为什么要做多端统一.如何满足多端业务需求.实践与创新,简洁直白的阐述我们在多端统一上所做的一切. 二.多端探 ...

  5. 2.5D 组态案例合集 | 智慧园区、数据中心、SMT 生产线、汽车制造

    在阅读文章之前,大家可以思考下 2.5D 设计属于哪种界定? 2.5D 是通过二维的元素来呈现出三维的效果.其实在国外并没有 2.5D 这样的称呼,标准说法是 Isometric 风格,翻译过来就是等 ...

  6. <vue 组件 4、插槽的使用>

    代码结构 一.     01-slot-插槽的基本使用 1. 效果 同样的一个插槽,父组件调用的时候不同展现的内容就不同 2.代码 01-slot-插槽的基本使用.html <!DOCTYPE ...

  7. <vue 组件 3、父子组件相互访问>

    代码结构 一.     01-组件访问-父访问子 1. 效果 点击后在父组件里展示子组件的参数 2.代码 01-组件访问-父访问子.html <!DOCTYPE html> <htm ...

  8. 【调试】perf和火焰图

    简介 perf是linux上的性能分析工具,perf可以对event进行统计得到event的发生次数,或者对event进行采样,得到每次event发生时的相关数据(cpu.进程id.运行栈等),利用这 ...

  9. @Configuration 注解使用及源码解析

    本文为博主原创,转载请注明出处: @Configuration 注解对我们来说并不陌生,以javaConfig的方式定义spring IOC容器的配置类使用的就是这个@Configuration. s ...

  10. 04 Tcl字符串

    Tcl字符串 4.1 Tcl将说有的变量值视作字符串,并将他们作为字符串进行保存. 命令 描述 append 将值追加到字符串尾 binary 二进制化字符串 format 字符串格式化 regexp ...