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

花几分钟记录一下这次事故,起因是这样的,我在用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

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

谢谢好心人帮我!!!

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值