更新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
卧槽~~~还好没放弃~~~~~~~~~流下激动的眼泪~~~~它回来了
谢谢好心人帮我!!!
更新glibc版本-GLIBC升级有风险,操作前最好请预先写好离职申请书相关推荐
- IDEA 又双叒叕 更新 大版本了 , IntelliJ IDEA 2022.3 正式发布,详情 请参考博文
文章目录 IDEA 又双叒叕 更新 大版本了 , IntelliJ IDEA 2022.3 正式发布 主要更新 通过设置使用新 IntelliJ IDEA UI 新的 Settings Sync(设置 ...
- anaconda更新python版本mac_055-Anaconda升级及mac设置python版本
一.Anaconda升级 python遇到了莫名BUG,经确定,是版本问题导致. 以Anaconda从3.6升级到3.7举例. 本人遇到问题根源,如下两图: image.png image.png 这 ...
- 非root用户更新glibc版本的悲惨故事
非root用户更新glibc版本的悲惨故事 前言 查看现有版本和动态库依赖 查看glibc版本 查看动态库的依赖 常规安装过程 报错&改错无限循环 01. 编译出错 02 . 添加LD_LIB ...
- Linux升级glibc版本汉字乱码,Linux CentOS6升级glibc库过程
CentOS6升级glibc库过程 hadoop无法加载native库,可能原因是 glibc库版本过低,需要升级. 第一:安装以下软件 yum -y install zlib zlib-devel ...
- centos7升级GLIBC版本
之前在一个Centos7虚拟机上运行目标程序的时候,发现自己的编译环境比目标运行机的centos7系统的glibc版本要高,运行的时候报错,说找不到GLIBC_2.18.于是在该centos7运行 s ...
- (六) 更新glibc版本
glibc版本太低,造成个别脚本会执行报错,如下错误 1.查看系统glibc支持的版本 strings /lib64/libc.so.6 |grep GLIBC_ 可以看到最高只支持2.12版本,所以 ...
- IO_FILE 与高版本 glibc 中的漏洞利用技巧
前言 在日常的二进制漏洞利用过程中,最终在获取到任意地址读写之都会面临一个问题: 要从哪里读,写到哪里去.对于信息泄露有很多方法,比如寻找一些数据结构在内存中残留的地址,可以是内部结构,也可以是用户定 ...
- 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 ...
- centos6.5原生系统修改ceph-mon 的ELF来让其加载低版本glibc库函数
文章目录 Step 1:glibc-2.17 被libc.so.6库依赖,升级glibc库 Step2:升级编译器-->4.8.2可以正常编译glibc2.17 Step3:修改ELF,降低ce ...
- 查看linux内核的glibc库,查看当前系统的glibc版本
有时我们经常需要查看当前系统的glibc版本,可以这样查看: /lib/libc.so.6 有时:/lib/x86-64-linux/libc.so.6 把这个文件当命令执行一下 为什么这个库可以直接 ...
最新文章
- 最长递增子序列的两种解法
- 参加51CTO培训,PMP考试通过啦
- Windows7 中配置IIS7的方法(HTTP 错误 404.3 - Not Found)
- 活动回顾 | 8月7日Apache Flink Meetup
- opencv和python是什么关系_使用OpenCV和Python检测眼睛
- 朋友圈发送照片泄露位置?微信:P 完再发!
- UI音乐播放之入门篇AudioSerVicesPlay
- php读取doc pdf文件,PHP读取创建txt,doc,xls,pdf类型文件
- iOS 面试题分析(二)
- 如何下载Chrome谷歌浏览器历史版本
- 工作说明书SOW(Statement Of Work)
- DiskGenius分区助手,5.1.2.766绿色单文件版更新上传
- Python爬虫——爬取网站的图片
- VScode 代码格式化失效
- vsphere添加数据存储_vsphere入门之数据存储与vMotion迁移技术
- 源码篇:ReentrantLock 源码分析上篇
- 【论文分享】异构图神经网络域名检测方法GAMD:Attributed Heterogeneous Graph Neural Network for Malicious Domain Detection
- odoo常见的装饰方法
- maven已支持支付宝开放平台SDK
- 数据结构实验一 —— 矩阵相乘算法