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. python arvg用法

    转自:http://blog.csdn.net/vivilorne/article/details/3863545 在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行 ...

  2. esp8266 终于装上固件了!半个月了!开始进军简单粗暴的lua语言!!

    第一次测试2017-10-2720:33:33 感谢这位大神的汇总资料太详细了 http://www.cnblogs.com/yangfengwu/p/7524326.html --first tes ...

  3. Effective Java 第三版——30. 优先使用泛型方法

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  4. python初识 - day4

    一.集合(set) 1.集合的定义 set 是一个无序的元素集合,支持并.交.差及对称差等数学运算, 但由于 set 不记录元素位置, 因此不支持索引.分片等类序列的操作. 2.集合的创建 大括号或 ...

  5. mybatis自动生成java代码

    SSM框架没有DB+Record模式,写起来特别费劲,只能用下面的方法勉强凑合. 上图中,*.jar为下载的,src为新建的空白目录,.xml配置如下. <?xml version=" ...

  6. discuz数据库相关表

    discuz 数据表对照cdb_access               用户权限表      cdb_adminactions         管理动作表cdb_admingroups        ...

  7. MoonLight可视化订单需求区域分析系统前端

    MoonLight可视化订单需求区域分析系统实现功能: 在现实生活中,计算机和互联网迅速发展,人们越来越趋向于网络,于是我们就有了各种各样的系统,来帮助我们更好地生活.比如对于打车来说,我们也可以通过 ...

  8. Ubuntu16.04下的2009q3交叉编译工具链的搭建

    环境搭建:    1.下载arm-2009q3.tar.bz2源码.  百度云链接  密码: rbui    2.将arm-2009q3.tar.bz2拷贝到/usr/local/arm(没有该目录就 ...

  9. 面试中的DNS

    DNS 当DNS客户机需要在程序中使用名称时,它会查询DNS服务器来解析该名称.客户机发送的每条查询信息包括三条信息:指定的DNS域名,指定的查询类型,DNS域名的指定类别. DNS基于UDP服务,端 ...

  10. java 对象、集合的非空判断

    自我总结,有什么不到位的地方,请各位纠正补充,感激不尽! 目的:使程序更严谨 ***对象验证是否不为空:  if( null != obj ) ***List验证不为空:if( null != lis ...