rpm数据库损坏 不能使用正常使用yum的处理方法

       不知道有没有跟我一样的小伙伴,在使用yum安装软件时,发现无法正常使用yum安装软件包,下面出现几句英语提示。在使用rpm时也无法正常的使用。其实 是rpm数据库崩溃导致的 下面就简单的介绍一下怎么回复,让其正常的工作,很简单几个命了即可。

1. 出现错误提示,这时我们需要认真的阅读下面的提示,不要乱找原因

[root@centos7 yum.repos.d]# vim YUM.repo 
[root@centos7 yum.repos.d]# yum repolist
error: rpmdb: BDB0113 Thread/process 6396/140171373643584 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 –  (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed

2.跟着提示cd /var/lib/rpm 下 查看文件 删除_db.* 所有文件

[root@centos7 yum.repos.d]# cd /var/lib/rpm
[root@centos7 rpm]# ls 
Basenames     __db.001  __db.003  Group       Name          Packages     Requirename  Sigmd5
Conflictname  __db.002  Dirnames  Installtid  Obsoletename  Providename  Sha1header   Triggername
[root@centos7 rpm]# rm _db.* -rf

3.删除后 用rpm –rebuilddb 进行数据文件回复

[root@centos7 rpm]# rpm –rebuilddb
[root@centos7 rpm]# ls 
Basenames     Dirnames  Installtid  Obsoletename  Providename  Sha1header  Triggername
Conflictname  Group     Name        Packages      Requirename  Sigmd5

4.用yum update 更新数据即可

[root@centos7 rpm]# yum update

Loaded plugins: fastestmirror, langpacks
base                                                                        | 3.6 kB  00:00:00     
Loading mirror speeds from cached hostfile
Resolving Dependencies
–> Running transaction check
—> Package httpd.x86_64 0:2.4.6-40.el7.centos will be updated
—> Package httpd.x86_64 0:2.4.6-45.el7.centos will be an update
—> Package httpd-tools.x86_64 0:2.4.6-40.el7.centos will be updated
—> Package httpd-tools.x86_64 0:2.4.6-45.el7.centos will be an update
—> Package lftp.x86_64 0:4.4.8-7.el7 will be updated
—> Package lftp.x86_64 0:4.4.8-8.el7 will be an update
—> Package telnet.x86_64 1:0.17-59.el7 will be updated
—> Package telnet.x86_64 1:0.17-60.el7 will be an update
–> Finished Dependency Resolution
Dependencies Resolved
===================================================================================================
 Package                 Arch               Version                         Repository        Size
===================================================================================================
Updating:
 httpd                   x86_64             2.4.6-45.el7.centos             base             2.7 M
 httpd-tools             x86_64             2.4.6-45.el7.centos             base              84 k
 lftp                    x86_64             4.4.8-8.el7                     base             751 k
 telnet                  x86_64             1:0.17-60.el7                   base              63 k
Transaction Summary
===================================================================================================
Upgrade  4 Packages
Total download size: 3.6 M
Is this ok [y/d/N]: y
Downloading packages:
—————————————————————————————————
Total                                                               20 MB/s | 3.6 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : httpd-tools-2.4.6-45.el7.centos.x86_64                                            1/8 
  Updating   : httpd-2.4.6-45.el7.centos.x86_64                                                    2/8 
  Updating   : lftp-4.4.8-8.el7.x86_64                                                                  3/8 
  Updating   : 1:telnet-0.17-60.el7.x86_64                                                           4/8 
  Cleanup    : httpd-2.4.6-40.el7.centos.x86_64                                                    5/8 
  Cleanup    : httpd-tools-2.4.6-40.el7.centos.x86_64                                            6/8 
  Cleanup    : lftp-4.4.8-7.el7.x86_64                                                                 7/8 
  Cleanup    : 1:telnet-0.17-59.el7.x86_64                                                           8/8 
  Verifying  : 1:telnet-0.17-60.el7.x86_64                                                            1/8 
  Verifying  : httpd-tools-2.4.6-45.el7.centos.x86_64                                             2/8 
  Verifying  : httpd-2.4.6-45.el7.centos.x86_64                                                     3/8 
  Verifying  : lftp-4.4.8-8.el7.x86_64                                                                   4/8 
  Verifying  : httpd-2.4.6-40.el7.centos.x86_64                                                     5/8 
  Verifying  : httpd-tools-2.4.6-40.el7.centos.x86_64                                             6/8 
  Verifying  : 1:telnet-0.17-59.el7.x86_64                                                            7/8 
  Verifying  : lftp-4.4.8-7.el7.x86_64                                                                  8/8 
Updated:
  httpd.x86_64 0:2.4.6-45.el7.centos            httpd-tools.x86_64 0:2.4.6-45.el7.centos           
  lftp.x86_64 0:4.4.8-8.el7                     telnet.x86_64 1:0.17-60.el7                        
Complete!

5.rpm和yum 恢复正常使用

[root@centos7 rpm]# rpm -q ntp

ntp-4.2.6p5-25.el7.centos.x86_64

[root@centos7 yum.repos.d]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: base
Cleaning up everything
Cleaning up list of fastest mirrors

原创文章,作者:huchaowei,如若转载,请注明出处:http://www.178linux.com/78003

(3)
huchaoweihuchaowei
上一篇 2017-06-13 11:36
下一篇 2017-06-13 15:19

相关推荐

  • 从Linux小白到大牛——与狼共舞的日子12(下)

    马哥教育网络班21期+第12周课程练习 5、为第4题中的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点; (1)要求使用证书认证,证书中要求使用的国家(CN)、州(HA)、城市(ZZ)和组织(MageEdu); (2)设置部门为Ops,主机名为www2.stuX.com,邮件为admin@stuX.com; 1.CA生成私…

    Linux干货 2016-12-26
  • 实时获取MySQL的TPS、QPS(输出到屏幕)

    这个脚本挺好用的,例如我们在主库执行了一个大事务,结果导致从库的show slave status\G 一直卡在 system lock状态,我们用下面这个脚本就能知道到底是hang住了,还是只是执行缓慢(反应在脚本执行结果里面就是qps\tps是不停变动的)。 当然,从库一直处于system lock 状态,一般是因为我们从库也设置双1导致,只要…

    Linux干货 2017-05-07
  • RHCE系列之LVM—-操作篇

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1350942    上一篇为大家介绍LVM的一些概念,这一篇就教大家一些日常的LVM的操作吧。毕竟,理论还是要应用到实战中来的嘛。 &nb…

    Linux干货 2016-08-15
  • shell脚本编程2

    shell脚本编程2   今天继续学习了shell脚本编程,续之前写的脚本编程1。上次主要学了编程的基础,脚本格式,变量类型及变量的使用,条件测试,数字运算并且进行了部分练习,因为这部分逻辑思维能力要求不是很高,因此记忆起来难度不是特别大。   从今天开始便进入了流程控制以及函数、数组、高级字符串操作、高级变量等内容的学习,总体来说难度和…

    Linux干货 2016-08-16
  • 如何使用openssl工具创建私有CA

    一、CA及证书 非对称加密是为了保证互联网中通讯信息安全使用的一种算法,密钥是成对出现(公钥和私钥),它的特点是发送方A使用接收方B的公钥加密数据,所有只有B拥有与之配对的私钥解密该数据,反之亦然。那么,A和B之间怎么交换得到对方的真实安全的公钥呢?此时就需要一个权威的机构来验证公钥的合法性,这个机构称之为CA(Certification Authority…

    2017-07-16
  • mitaka版本openstack网络之open vSwitch

    作者:【吴业亮】 博客:http://blog.csdn.net/wylfengyujiancheng 一、硬件配置及服务拓扑1. controller节点:一块网卡2. 网络节点:四块网卡。3. 计算节点:三块网卡 controller节点1. 运行 neutron数据库2. 运行消息队列服务3. 运行认证。4. 运行OpenStack计算nova相关网络…

    2018-01-22