花几分钟记录一下这次事故,起因是这样的,我在用openssl工具生产证书的时候,提示我要用GNULIBC版本2.25
以上的版本,但是我看了下我的系统的GNULIBC的版本是2.17的,于是一顿操作猛如虎,我自信地开始了我的升级
之旅,但是到make install那儿的时候,我发现失败了,于是我用另一个终端打开准备看看怎么回事,但是非常
残酷的现实就是这时候pwd,ls等命令都不可以用了,于是我强制关了机,试图用重启大法来结束这一场失败的升
级,但是厄运才刚刚开始,我已经不能打开我的虚拟机的,我的心要碎了,慌得要命,这个虚拟机上有我平时写的
很多珍贵的测试程序和学习的痕迹,于是我在搜索很多帖子没有进展的情况下,在一个技术群里将情况描述了以后
问如何才可以恢复,好心人们和我简单说了下,大概有以下两种:
(1)用快照恢复(但是我没有存快照);
(2)再建一个虚拟机,把原来的磁盘挂载上,把glibc改回来,或者直接看提示一步一步修改。根据我的实际情况,很显然第二种方式是符合我这次的恢复方案的,于是我加了提出第二种方式恢复环境的大哥的
微信,再说一下我拥有的机器的背景:
(1)机器A,机器B,A和B都是由同一个centos7的镜像安装的;
(2)机器A是被我升级弄坏的那台机器,机器B完好无损.于是在大哥的帮助下,我登录了B机器,然后开始将A机器的磁盘挂载到B机器下,让B机器对A机器中的相关glibc
库进行恢复,开始的时候只恢复了libc.so.6的指向,让其指向libc-2.17.so,但是将盘重新挂回A机器的时候,
A机器仍然不可以重启,百思不得其解,但是此时,我最起码可以保证我的A机器中的盘的内容可以保存下来不会
丢失了,剩下的就是我对A机器上各种安装的软件的执着,我一定要重启登录A机器,大哥离我而去了,这位大哥
真的是个好心人,我和他素昧平生,真真实实的感谢他。之后,我开始了孤独之旅,我重新通过B机器去访问A机
器中磁盘上的内容,发现我的A机器那个/usr/lib64目录下在经过编译2.25版本的glibc之后还生成了其他的动
态库和静态库,我在想是不是它们的原因,我lld了一下libc-2.17.so,对其依赖库进行了分析,然后把所有新
生成的库都用B机器的原装的老库进行更新,大概好几十个,我慢慢坚持了下来,然后奇迹发生了,我再次登录
A机器的时候,出现了最后一个图片的样子,我可以登录了!!!激动。这就是我本次的glibc的升级惨痛教训,
我已经放弃升级了,也掌握了这种情况下,如何恢复一个虚拟机的方法,感谢!!

我的机器最初的libc的版本是2.17 

Linux升级glibc_坡度爱好者的博客-CSDN博客_升级glibc

../glibc-2.25/configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
[root@localhost opt]# echo $LD_LIBRARY_PATH
:/usr/local/lib
[root@localhost opt]# export LD_LIBRARY_PATH=
[root@localhost opt]# echo $LD_LIBRARY_PATH[root@localhost opt]# ./glibc-2.14/configure 

高危操作,我GG了,pwd,yum都不能用了 

高危操作引导符

阅读链接

B机器对A机器的盘进行挂载及卸载的命令

[root@wknode exdata]# mount /dev/sdb1 ./sdb1
[root@wknode exdata]# mount /dev/sdb3 ./sdb3
[root@wknode exdata]# umount /dev/sdb1
[root@wknode exdata]# umount /dev/sdb3

[muten003@wknode lib64]$ ls -lrth | grep "Mar 16"
-rwxr-xr-x   1 root     root      847K Mar 16 18:43 ld-2.25.so
-rw-r--r--   1 root     root       253 Mar 16 18:43 libc.so
-rw-r--r--   1 root     root      4.1K Mar 16 18:43 crt1.o
-rw-r--r--   1 root     root      7.0K Mar 16 18:43 gcrt1.o
-rw-r--r--   1 root     root      1.2K Mar 16 18:43 Mcrt1.o
-rw-r--r--   1 root     root      4.1K Mar 16 18:43 Scrt1.o
-rw-r--r--   1 root     root      2.6K Mar 16 18:43 crti.o
-rw-r--r--   1 root     root      2.4K Mar 16 18:43 crtn.o
-rwxr-xr-x   1 root     root       20K Mar 16 18:43 libBrokenLocale-2.25.so
lrwxrwxrwx   1 root     root        20 Mar 16 18:43 libBrokenLocale.so -> libBrokenLocale.so.1
-rw-r--r--   1 root     root       22K Mar 16 18:43 libBrokenLocale.a
drwxr-xr-x.  2 root     root      8.0K Mar 16 18:44 gconv
-rw-r--r--   1 root     root       141 Mar 16 18:44 libm.so
-rwxr-xr-x   1 root     root      4.1M Mar 16 18:44 libm-2.25.so
-rw-r--r--   1 root     root      3.0K Mar 16 18:44 libieee.a
-rw-r--r--   1 root     root      7.6M Mar 16 18:44 libm-2.25.a
-rw-r--r--   1 root     root       102 Mar 16 18:44 libm.a
-rwxr-xr-x   1 root     root       96K Mar 16 18:44 libdl-2.25.so
lrwxrwxrwx   1 root     root        10 Mar 16 18:44 libdl.so -> libdl.so.2
-rw-r--r--   1 root     root       53K Mar 16 18:44 libdl.a
-rwxr-xr-x   1 root     root       48K Mar 16 18:44 libmemusage.so
-rw-r--r--   1 root     root       11K Mar 16 18:44 libmcheck.a
-rw-r--r--   1 root     root      2.8K Mar 16 18:44 libg.a
-rw-r--r--   1 root     root       22M Mar 16 18:44 libc.a
-rw-r--r--   1 root     root       73K Mar 16 18:44 libc_nonshared.a
-rwxr-xr-x   1 root     root      9.8M Mar 16 18:44 libc-2.25.so
lrwxrwxrwx   1 root     root        20 Mar 16 18:46 libasprintf.so.0 -> libasprintf.so.0.0.0
lrwxrwxrwx   1 root     root        21 Mar 16 18:46 libgettextpo.so.0 -> libgettextpo.so.0.5.4
lrwxrwxrwx   1 root     root        12 Mar 16 18:46 libm.so.6 -> libm-2.25.so
lrwxrwxrwx   1 root     root        13 Mar 16 18:46 libdl.so.2 -> libdl-2.25.so
lrwxrwxrwx   1 root     root        23 Mar 16 18:46 libBrokenLocale.so.1 -> libBrokenLocale-2.25.so
lrwxrwxrwx   1 root     root        10 Mar 16 18:46 ld-linux-x86-64.so.2 -> ld-2.25.so
drwxr-xr-x.  2 root     root        92 Mar 16 18:46 gettext
lrwxrwxrwx   1 root     root        21 Mar 16 18:46 libgettextpo.so -> libgettextpo.so.0.5.4
lrwxrwxrwx   1 root     root        20 Mar 16 18:46 libasprintf.so -> libasprintf.so.0.0.0
lrwxrwxrwx   1 root     root        12 Mar 16 21:36 libc.so.6 -> libc-2.17.so

卧槽~~~还好没放弃~~~~~~~~~流下激动的眼泪~~~~它回来了

谢谢好心人帮我!!!

更新glibc版本-GLIBC升级有风险,操作前最好请预先写好离职申请书相关推荐

  1. IDEA 又双叒叕 更新 大版本了 , IntelliJ IDEA 2022.3 正式发布,详情 请参考博文

    文章目录 IDEA 又双叒叕 更新 大版本了 , IntelliJ IDEA 2022.3 正式发布 主要更新 通过设置使用新 IntelliJ IDEA UI 新的 Settings Sync(设置 ...

  2. anaconda更新python版本mac_055-Anaconda升级及mac设置python版本

    一.Anaconda升级 python遇到了莫名BUG,经确定,是版本问题导致. 以Anaconda从3.6升级到3.7举例. 本人遇到问题根源,如下两图: image.png image.png 这 ...

  3. 非root用户更新glibc版本的悲惨故事

    非root用户更新glibc版本的悲惨故事 前言 查看现有版本和动态库依赖 查看glibc版本 查看动态库的依赖 常规安装过程 报错&改错无限循环 01. 编译出错 02 . 添加LD_LIB ...

  4. Linux升级glibc版本汉字乱码,Linux CentOS6升级glibc库过程

    CentOS6升级glibc库过程 hadoop无法加载native库,可能原因是 glibc库版本过低,需要升级. 第一:安装以下软件 yum -y install zlib zlib-devel ...

  5. centos7升级GLIBC版本

    之前在一个Centos7虚拟机上运行目标程序的时候,发现自己的编译环境比目标运行机的centos7系统的glibc版本要高,运行的时候报错,说找不到GLIBC_2.18.于是在该centos7运行 s ...

  6. (六) 更新glibc版本

    glibc版本太低,造成个别脚本会执行报错,如下错误 1.查看系统glibc支持的版本 strings /lib64/libc.so.6 |grep GLIBC_ 可以看到最高只支持2.12版本,所以 ...

  7. IO_FILE 与高版本 glibc 中的漏洞利用技巧

    前言 在日常的二进制漏洞利用过程中,最终在获取到任意地址读写之都会面临一个问题: 要从哪里读,写到哪里去.对于信息泄露有很多方法,比如寻找一些数据结构在内存中残留的地址,可以是内部结构,也可以是用户定 ...

  8. linux glibc2.12编译,glibc 2.12 升级 2.14

    升级原因 安装saltstack出现报错: Error: Package: PyYAML-3.11-1.el7.x86_64 (salt-latest) Requires: libc.so.6(GLI ...

  9. centos6.5原生系统修改ceph-mon 的ELF来让其加载低版本glibc库函数

    文章目录 Step 1:glibc-2.17 被libc.so.6库依赖,升级glibc库 Step2:升级编译器-->4.8.2可以正常编译glibc2.17 Step3:修改ELF,降低ce ...

  10. 查看linux内核的glibc库,查看当前系统的glibc版本

    有时我们经常需要查看当前系统的glibc版本,可以这样查看: /lib/libc.so.6 有时:/lib/x86-64-linux/libc.so.6 把这个文件当命令执行一下 为什么这个库可以直接 ...

最新文章

  1. 最长递增子序列的两种解法
  2. 参加51CTO培训,PMP考试通过啦
  3. Windows7 中配置IIS7的方法(HTTP 错误 404.3 - Not Found)
  4. 活动回顾 | 8月7日Apache Flink Meetup
  5. opencv和python是什么关系_使用OpenCV和Python检测眼睛
  6. 朋友圈发送照片泄露位置?微信:P 完再发!
  7. UI音乐播放之入门篇AudioSerVicesPlay
  8. php读取doc pdf文件,PHP读取创建txt,doc,xls,pdf类型文件
  9. iOS 面试题分析(二)
  10. 如何下载Chrome谷歌浏览器历史版本
  11. 工作说明书SOW(Statement Of Work)
  12. DiskGenius分区助手,5.1.2.766绿色单文件版更新上传
  13. Python爬虫——爬取网站的图片
  14. VScode 代码格式化失效
  15. vsphere添加数据存储_vsphere入门之数据存储与vMotion迁移技术
  16. 源码篇:ReentrantLock 源码分析上篇
  17. 【论文分享】异构图神经网络域名检测方法GAMD:Attributed Heterogeneous Graph Neural Network for Malicious Domain Detection
  18. odoo常见的装饰方法
  19. maven已支持支付宝开放平台SDK
  20. 数据结构实验一 —— 矩阵相乘算法

热门文章

  1. 黄健计算机科学与技术学院,计算机科学与技术学院研究生学业奖学金初评结果汇总表...
  2. PHP经典面试题——数据库优化
  3. 基于MATLAB的数字水印技术实现解析
  4. C语言选择题(含答案)
  5. 几个轻巧好用的代码检查工具!代码不在坏味道
  6. Python 进阶 — Flake8 静态代码检查工具
  7. CleanMyMac X2022纯净版苹果电脑管家
  8. Modbus家族之 RTU
  9. php的word插件,实现word在线预览 有php的写法 也有插件似
  10. 三大开源bi工具_bi智能报表,好用的开源报表工具