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. 免费ssl证书申请和在IIS上启用https的使用教程

    因为微信小程序开发涉及到ssl证书,所以折腾了几天的这个. 非常感谢”亚洲诚信-TrustAsia“公司的售后工程师黄工(QQ2355718943 TEL:021-58895880-663)提供的技术 ...

  2. JavaScript String(字符串对象)

    String 对字符串的支持 String.charAt( n ) 返回字符串中的第n个字符 n 是下标 String.charCodeAt( ) 返回字符串中的第n个字符的代码 String.con ...

  3. Java基础——反射 reflect

    什么是反射 (1)Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称 ...

  4. Linux tar 解压的时候报错

    报错如下: # tar zxvf php-7.1.6.tar.gz gzip: stdin: not in gzip format tar: Child returned status 1 tar: ...

  5. Win10微软帐户切换不回Administrator本地帐户的解决方法--(转,虽转但亲测有效)

    在Win10系统中经常会用到微软帐户登录,如应用商店等地方,不过一些用户反馈原来使用Administrator帐户被绑定微软帐户后无法切换回本地帐户,连[改用本地帐户登录]按钮都没有,那么怎么解决呢? ...

  6. Django框架初识

    一.安装: pip3 install django 注意pip加入环境变量,安装好以后记得把Django加入环境变量     安装完成后,会在python目录下多了两个文件:1个django文件,1个 ...

  7. sphinx的再创造coreseek的安装过程

    CoreSeek详细安装过程:coreseek-3.2.14.tar.gz下载链接: http://pan.baidu.com/s/1o6DNesE 解压缩安装mmseg分词程序: .tar.gz c ...

  8. 不需要客户端插件PHP也能实现单点登录

    分析CAS原理,构建PHP单点登录 单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户 只需要登录一次就 ...

  9. 《Thinking in Java》学习笔记(四)

    1.Java中的闭包与回调 闭包(Closure)是一种能被调用的对象,它保存了创建它的作用域的信息.JAVA并不能显式地支持闭包,但是在JAVA中,闭包可以通过“接口+内部类”来实现,因为对于非静态 ...

  10. Windows下为Lua脚本进行加密处理

    缘由 想对Lua脚本进行安全性处理,可惜一直没有想到很好的解决方案,考虑过用原生Lua将脚本编译成二进制代码,也考虑过用zlib将文件进行加密压缩处理,但是感觉都不是最佳方案,今天忽然想到有个东西叫L ...