ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

centos6.9中glibc升级失败救援+救援模式挂载硬盘

2021-05-26 18:03:48  阅读:661  来源: 互联网

标签:救援 glibc mnt centos6.9 挂载 启动盘 硬盘 U盘


centos6.9中glibc2.12升级失败导致系统奔溃的救援+救援模式下挂载硬盘备份数据

起因
在课题组服务器管理员权限下打算安装Rstudio-server时,提示glibc需要2.14及以上版本,纯菜鸟,在未知升级glibc失败会引起什么样的后果下便开始了折腾。自己下载的glibc2.17开始安装,在rpm -Uvh *2.17-55.ELS.X86_64.rpm后麻烦开始了,如下图,提示/lib64/libc.so.6: version 'GLIBC_2.14' not found在这里插入图片描述
此后再输入任何命令都是“**GLIBC_2.14' not found”以及“core dumped”等错误。
如果当时没退出root环境,按照网上的说法貌似此时还有补救措施,但我已经退出root权限,退出mobaxterm后就登不上去系统了,百度后才知道,此时我已经把linux底层glibc搞坏掉,影响系统正常运行了,除了cd以外的绝大多数命令都歇菜了。

解决措施

断断续续折腾近两周,下边是成功解决方案的步骤:
1 . 制作U盘启动盘
问题出现后,进入机房将课题组服务器(浪潮英信服务器 NF8480M4)连接到显示屏,蓝屏,长按服务器电源键后强制关机,再开机后报错进不去系统。尝试按照网上的建议进入单用户模式失败,只能进入救援模式。ok,先强制把服务器关机,去制作U盘启动盘吧:
使用UltraISO制作centos6.9的U盘启动盘,所需的镜像从清华镜像https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.9/isos/x86_64/CentOS-6.9-x86_64-bin-DVD1.iso下载至本地(DVD1涵盖了所有装机必须软件)。制作U盘启动盘时,在“便捷启动”项内选择“syslinux”(我之前没选这一项,开机U盘启动时无法进入救援模式,其他步骤和网上说的一致),写入U盘的时间大概十分钟。

2.进入救援模式
在服务器上插入U盘启动盘,按电源键开机后在提示界面按下“F12”进入boot选项,之后选择最下边的自己的U盘回车,在界面选择第三项“rescue”进入救援模式,在“what type of media contain the rescue image”界面中选择第二个“hard device”(如下图)回车,我的U盘就是之后界面显示得第一个/dev/sda4/,回车进入,其他的和网上进入救援模式的方法一致,直到出现bash#命令行(由于是回忆的,具体步骤可参照网上其他建议,在此有一个帮助链接Linux系统CentOS进入单用户模式和救援模式详解_IChen.的博客-CSDN博客)。原服务器上的系统被挂载至/mnt/sysimage/。(网上说的chroot /mnt/sysimage/进原系统,这里进不去,因为我把系统底层搞坏掉了啊要选择hard device哈

3.挂载硬盘拷贝数据
在系统坏掉前未做数据备份,自己买了4t西部数据硬盘(默认NTFS格式),此时由于系统坏掉,网上说的安装ntfs-3g后挂载ntfs硬盘的方法已经行不通(这里自己尝试了好几天,包括自己下载ntfs-3g通过U盘拷贝到服务器上编译也不成功,因为glibc的错误导致编译软件gcc也不能用了),请教过在鹅厂搬砖四年的同学后,了解到centos6.9默认支持的是ext4格式的硬盘,还推荐了将NTFS硬盘转化为ext4格式的办法diskgenius软件改变硬盘格式的方法这个需要格式化自己硬盘中的数据哈!!!)通过教程成功将自己NTFS的硬盘格式化成ext4格式的硬盘。之后再将自己的硬盘插在服务器,输入以下命令:

lsblk #查看自己的硬盘是哪个盘
fdisk -l #查看磁盘分区状态及挂载路径(无桌面下显示屏翻页按shift+pageup/pagedown)
blkid #查看所有设备的文件系统类型
mkdir /mnt/myusb #创建一个新的文件夹以备挂载自己的硬盘
mount /dev/sdc1 /mnt/myusb #/dev/sdc1这个是你自己硬盘的名称哈,别直接复制粘贴我的
cp -r /mnt/sysimage/ /mnt/myusb #硬盘要足够大就将整个系统里边的东西拷贝出来,或者选择重要的数据自行拷贝,我一共1.5T左右的数据,夜里十点左右输入命令后,第二天早上过去看看,拷贝完了
umount /mnt/myusb #解挂硬盘,此时就可以拔掉你的硬盘了,至于想看数据是否拷过来,可以在window借助diskgenius查看文件

4.恢复系统
前边的所有都是铺垫,最终还是要解救系统,他终于来了。。。
通过U盘启动盘开机后进入救援模式,由于数据已经做了备份了,现在搞起来也大胆了一些。参照“3.挂载硬盘拷贝数据”,将自己的U盘启动盘也挂载到一个目录下以拷贝安装U盘中的glibc*文件。重头戏来了,参考以下3个链接(我没有误删除glibc,只是升级失败,因此下边命令行中的rm -rf一行对我出现的问题很关键)glibc手动升级高版本导致系统(RedHat/Centos)异常(无法开机等)的解决方法(回退低版本glibc),,,Centos7 – glibc 升级失败、意外删除、故意删除后的处理方法 - caya - 博客园,,,升级centos6.9 glibc引发的惨案_王老欠-CSDN博客

mkdir /mnt/usb
mount /dev/sda4 /mnt/usb #/dev/sda4是你自己的U盘启动盘名字,按照你自己的名称来挂载至/mnt/cdrom
cd /mnt/sysimage/lib64/ #进入原系统文件的lib64库文件
rm -rf *2.17* #这一步很关键,若不删除自己升级失败的glibc.17相关库文件,会导致下边的安装不成功,亲测过了
cd /mnt/usb/Packages/ #你想要替换的glibc相关文件都在U盘的packages中
rpm -ivh --force --root=/mnt/sysimage glibc* #这是终极之战,回车后我这里就把系统的glibc修复好了

运行命令后的成功结果如下(之前的一直是到不了100%,中间会出现很多errors):在这里插入图片描述将U盘启动盘解挂后拔出(不解挂拔出的话重启后我自动又进入了U盘启动的状态),在bash命令行输入reboot重启,glibc的问题就解决了,而我这里重启后出现新问题如下:
在这里插入图片描述
百度后了解到这是重新识别我的/dev/sda4磁盘时出现故障,需要手动fsck解决,因为使用blkid已知它是ext4磁盘类型,所以输入命令fsck.ext4 -y /dev/sda4回车,完成后reboot重启,完美进入了系统。至此,困扰我近两周的升级失败惨案宣告终结。有了经验,后续还会继续捣鼓glibc2.12升级的。

标签:救援,glibc,mnt,centos6.9,挂载,启动盘,硬盘,U盘
来源: https://blog.csdn.net/ASPOBUTME/article/details/117293193

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有