RHEL6误使用了RHEL7的光盘源,安装了某个RPM包之后,导致glibc被升级,进而导致系统崩溃。
[root@rhel65 ~]# yum install ftp
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package ftp.x86_64 :0.17-.el7 will be installed
--> Processing Dependency: libc.so.(GLIBC_2.)(64bit) for package: ftp-0.17-.el7.x86_64
--> Running transaction check
---> Package glibc.x86_64 :2.12-1.132.el6 will be updated
--> Processing Dependency: glibc = 2.12-1.132.el6 for package: glibc-headers-2.12-1.132.el6.x86_64
--> Processing Dependency: glibc = 2.12-1.132.el6 for package: glibc-common-2.12-1.132.el6.x86_64
--> Processing Dependency: glibc = 2.12-1.132.el6 for package: glibc-devel-2.12-1.132.el6.x86_64
---> Package glibc.x86_64 :2.17-.el7 will be an update
--> Running transaction check
---> Package glibc-common.x86_64 :2.12-1.132.el6 will be updated
---> Package glibc-common.x86_64 :2.17-.el7 will be an update
--> Processing Dependency: /usr/bin/bash for package: glibc-common-2.17-.el7.x86_64
---> Package glibc-devel.x86_64 :2.12-1.132.el6 will be updated
---> Package glibc-devel.x86_64 :2.17-.el7 will be an update
---> Package glibc-headers.x86_64 :2.12-1.132.el6 will be updated
---> Package glibc-headers.x86_64 :2.17-.el7 will be an update
--> Running transaction check
---> Package bash.x86_64 :4.1.-.el6_4 will be updated
---> Package bash.x86_64 :4.2.-.el7_2 will be an update
--> Processing Conflict: bash-4.2.-.el7_2.x86_64 conflicts filesystem <
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package filesystem.x86_64 :2.4.-.el6 will be updated
---> Package filesystem.x86_64 :3.2-.el7 will be an update
--> Finished Dependency Resolution Dependencies Resolved ===========================================================================================================
Package Arch Version Repository Size
===========================================================================================================
Installing:
ftp x86_64 0.17-.el7 rhel73-iso k
Updating:
filesystem x86_64 3.2-.el7 rhel73-iso 1.0 M
Updating for dependencies:
bash x86_64 4.2.-.el7_2 rhel73-iso 1.0 M
glibc x86_64 2.17-.el7 rhel73-iso 3.6 M
glibc-common x86_64 2.17-.el7 rhel73-iso M
glibc-devel x86_64 2.17-.el7 rhel73-iso 1.1 M
glibc-headers x86_64 2.17-.el7 rhel73-iso k Transaction Summary
===========================================================================================================
Install Package(s)
Upgrade Package(s) Total download size: M
Is this ok [y/N]: y
Downloading Packages:
-----------------------------------------------------------------------------------------------------------
Total MB/s | MB :
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : glibc-2.17-.el7.x86_64 /
Updating : bash-4.2.-.el7_2.x86_64 /
Updating : glibc-common-2.17-.el7.x86_64 /
Updating : glibc-headers-2.17-.el7.x86_64 /
Updating : glibc-devel-2.17-.el7.x86_64 /
Updating : filesystem-3.2-.el7.x86_64 /
Error unpacking rpm package filesystem-3.2-.el7.x86_64
error: unpacking of archive failed on file /bin: cpio: rename
Installing : ftp-0.17-.el7.x86_64 /
Cleanup : glibc-devel-2.12-1.132.el6.x86_64 /
Cleanup : glibc-headers-2.12-1.132.el6.x86_64 /
Cleanup : bash-4.1.-.el6_4.x86_64 /
Non-fatal POSTUN scriptlet failure in rpm package bash
Cleanup : glibc-common-2.12-1.132.el6.x86_64 /
warning: %postun(bash-4.1.-.el6_4.x86_64) scriptlet failed, exit status
Cleanup : glibc-2.12-1.132.el6.x86_64 /
warning: /etc/localtime saved as /etc/localtime.rpmsave
Non-fatal <unknown> scriptlet failure in rpm package glibc
rhel65-iso/productid | 1.7 kB : ...
rhel73-iso/productid | 1.6 kB : ...
Verifying : glibc-devel-2.17-.el7.x86_64 /
Verifying : bash-4.2.-.el7_2.x86_64 /
Verifying : glibc-2.17-.el7.x86_64 /
Verifying : glibc-common-2.17-.el7.x86_64 /
Verifying : ftp-0.17-.el7.x86_64 /
Verifying : glibc-headers-2.17-.el7.x86_64 /
Verifying : glibc-2.12-1.132.el6.x86_64 /
Verifying : glibc-devel-2.12-1.132.el6.x86_64 /
Verifying : bash-4.1.-.el6_4.x86_64 /
filesystem-2.4.-.el6.x86_64 was supposed to be removed but is not!
Verifying : filesystem-2.4.-.el6.x86_64 /
Verifying : glibc-common-2.12-1.132.el6.x86_64 /
Verifying : glibc-headers-2.12-1.132.el6.x86_64 /
Verifying : filesystem-3.2-.el7.x86_64 / Installed:
ftp.x86_64 :0.17-.el7 Dependency Updated:
bash.x86_64 :4.2.-.el7_2 glibc.x86_64 :2.17-.el7 glibc-common.x86_64 :2.17-.el7
glibc-devel.x86_64 :2.17-.el7 glibc-headers.x86_64 :2.17-.el7 Failed:
filesystem.x86_64 :2.4.-.el6 filesystem.x86_64 :3.2-.el7 Complete!

查看yum install升级记录日志

 
 
此时系统已经不能正常执行reboot命令重启了,只能强制按电源重启机器。重启之后,原系统已经崩溃,进不去系统了,停在下面的界面:
 

 
然后使用RHEL6的光盘引导机器,选择rescue,进入到shell之后提示无法chroot到/mnt/sysimage,无解。
 
然后重启,用RHEL6安装光盘引导机器,选择Install or Update系统,进入图形后选择update已有系统,失败,如下图。
 

 
然后按ctrl+alt+F2切换到第2个console,发现原系统已经被自动挂载到/mnt/sysimage目录,尝试chroot到/mnt/sysimage,由于bash被上面依赖更新了,所以会提示找不到/bin/sh,手动把/mnt/sysimage/usr/bin/sh 拷到 /mnt/sysimage/bin/sh,再次chroot成功。
 

 
手工挂载RHEL6的ISO到/mnt/rhel65并cd到Packages目录,强制将上面更新过的几个包更新回到RHEL6的版本:
# rpm --force --nodeps -Uvh  [RPM包名]
分别把bash/glibc/glibc-common/glibc-devel/glibc-headers这几个包装回去。
 
重启系统,发现已经可以正常进入到原系统了,最后使用yum remove把最开始安装的RHEL7的包给remove掉,问题全部解决。
 

RHEL6误安装RHEL7的包导致glibc被升级后系统崩溃处理方法的更多相关文章

  1. glibc CVE-2015-7547漏洞的分析和修复方法【转】

    本文转载自:http://blog.csdn.net/tengxy_cloud/article/details/50764370 漏洞概述 glibc中处理DNS查询的代码中存在栈溢出漏洞,远端攻击者 ...

  2. 第七天 Linux用户管理、RHEL6.5及RHEL7.2 root密码破解、RHEL6.5安装vmware tools

    1.Linux用户管理 Linux系统中,存在三种用户 A.超级用户:root 最高权限,至高无上 在windows中 administrator是可以登录的最高权限,但是,system权限最高,不能 ...

  3. RHEL6.1 安装 Oracle10gr2 (图文、解析)

    目录 目录 软件环境 前言 初始化RHEL61 硬件检测 预安装软件包 安装oratoolkit 创建Oracle用户 修改配置文件 系统版本伪装 解压并运行Oracle10gr2安装包 安装rlwr ...

  4. rhel6.4 安装nodejs和Mysql DB服务

    rhel6.4 安装nodejs和Mysql DB服务 安装好redhat6.4虚拟机后, 安装软件: # yum install gcc-c++ openssl-devel Loaded plugi ...

  5. linux和windows下安装python拓展包及requirement.txt安装类库

    python拓展包安装 直接安装拓展包默认路径: Unix(Linux)默认路径:/usr/local/lib/pythonX.Y/site-packagesWindows默认路径:C:\Python ...

  6. Android导包导致java.lang.NoClassDefFoundError

    摘要: SDK方法总数是不能超过65k的.是否也引入其他的三方库,导致总数超过限制.超出限制会导致部分class找不到,引发java.lang.NoClassDefFoundError.解决方法:近日 ...

  7. Red Hat Enterprise Server 6.0 安装Sendmail相关包

    由于需要在Linux服务器(Red Hat Enterprise Linux Server release 6.0)上配置邮件服务,需要安装Sendmail包,一般Sendmail的安装有两种方式:R ...

  8. (转载)Linux如何编译安装源码包软件

    一.什么是源码包软件: 顾名思义,源码包就是源代码的可见的软件包,基于Linux和BSD系统的软件最常见:在国内源可见的软件几乎绝迹:大多开源软件都是国外出品:在国内较为出名的开源软件有fcitx;l ...

  9. 安装 RPM 包或者安装源码包

    安装 RPM 包或者安装源码包 在windows下安装一个软件很轻松,只要双击.exe的文件,安装提示连续“下一步”即可,然而linux系统下安装一个软件似乎并不那么轻松了,因为我们不是在图形界面下. ...

随机推荐

  1. docker 安装 msyql

    **************************************************************************************************** ...

  2. Python--socketserve源码分析(一)

    class ThreadingTCPServer(ThreadingMixIn, TCPServer): pass 实现原理: s =socketserver.ThreadingTCPServer(参 ...

  3. ELK入门级介绍--打造实时日志查询系统

    这几天一直在研究ElasticSearch,在网上看到一篇好的文章和大家分享. ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段: 以下内容来自:http://baidu.b ...

  4. mydate97设置时间

    1.引入包 2.页面引入 <script type="text/javascript" src="${pageContext.request.contextPath ...

  5. DOM4J使用简介

    Dom4j 使用简介 作者:冰云 icecloud(AT)sina.com 时间:2003.12.15   版权声明: 本文由冰云完成,首发于CSDN,未经许可,不得使用于任何商业用途. 文中代码部分 ...

  6. VAssistX插件

    一.什么是VassistX? VassistX的全称是Visual Assist X,是whole tomato开发的一个非常好用的插件,可用于VC6.0及Visual Studio的各个版本(包括V ...

  7. LVS-DR模式(原理图详解)

    标签(空格分隔): linux 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 前言 LVS一共四种工作模式.其中,DR模式是比较常用的模式之一,配置较麻烦,这里 ...

  8. 【转】GLONASS全球卫星导航系统

    GLONASS是“GLOBAL NAVIGATION SATELLITE SYSTE(全球卫星导航系统)”的缩写,作用类似于美国的GPS.欧洲的伽利略卫星定位系统.最早开发于苏联时期,后由俄罗斯继续该 ...

  9. 理解js中的作用域,作用域链以及闭包

    作用域变量作用域的类型:全局变量和局部变量全局作用域对于最外层函数定义的变量拥有全局作用域,即对任何内部函数来说,都是可以访问的 <script> var outerVar = " ...

  10. Django中不返回QuerySets的API -- Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...