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. 使用VSCode和VS2017编译调试STM32程序

    近两年,微软越来越拥抱开源支持跨平台,win10搭载Linux子系统,开源VSCode作为跨平台编辑器,VS2017官方支持了Linux和嵌入式开发功能. ST也是,近两年开发的软件工具基本都是跨平台 ...

  2. 辩证看待 iostat

    前言 经常做系统分析会接触到很多有用的工具,比如 iostat,它是用来分析磁盘性能.系统 I/O 的利器. 本文将重点介绍 iostat 命令的使用,并分析容易引起误解的几个指标. iostat i ...

  3. python_怎么格式化字符串?

    案例: 如何对下面字典的key左对齐 {'dhqbl': 30, 'psfgj': 40, 'ontpqsb': 90, 'mrean': 110, 'klespjtr': 60, 'lprnkqhb ...

  4. 输入和输出--java序列化机制

    对象的序列化 什么是Java对象的序列化? 对象序列化的目标是将对象保存到磁盘上,或允许在网络中直接传输对象.对象序列化机制允许把内存中的Java对象转换成与平台无关的二进制流,从而保存或者传输.其他 ...

  5. Intel DPDK 全面解读

    高性能网络技术 随着云计算产业的异军突起,网络技术的不断创新,越来越多的网络设备基础架构逐步向基于通用处理器平台的架构方向融合,从传统的物理网络到虚拟网络,从扁平化的网络结构到基于 SDN 分层的网络 ...

  6. Redis清空数据

    进入redis目录下 redis-cli -h IP -p 端口 -a 密码 flushall

  7. keytool 错误:java.to.FileNotFoundException:

    老是报如题的错误: 后来才知道是因为当前的目录下没有写的权限,所以需要指定一个路径来存放android.key: keytool -genkey -alias android.key -keyalg ...

  8. zabbix3.2_yum官方文档centos 7版

    Installation from packages 1 Repository installation 2 Server installation with MySQL database 3 Ser ...

  9. 【转】How to append current date and timestamp to filename in shell script

    $ date +"FORMAT" now=$(date +"%Y-%m-%d-%S") filename="my_program.$now.log&q ...

  10. SpringBoot整合Redis、ApachSolr和SpringSession

    SpringBoot整合Redis.ApachSolr和SpringSession 一.简介 SpringBoot自从问世以来,以其方便的配置受到了广大开发者的青睐.它提供了各种starter简化很多 ...