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
下一篇 2017-06-13

相关推荐

  • linux文件的时间

    1,linux文件有哪些时间属性     access time:atime 访问时间:即查看访问文件的时间     modify time:mtime 修改时间:修改文件内容的时间     change time:ctime 改变时间:修…

    Linux干货 2016-06-09
  • 浅谈DNS基本原理以及实现方法(二)

             DNS作为互联网服务的一个基础型服务,了解和掌握DNS服务的原理和配置将是每一个运维人员必备的技能,这就如同闯荡江湖的侠客不但要有的招式,还要懂的运用这些招式的心法一样,接下来我将从DNS的正反向解析、主从同步、子域授权以及Bind view这四个方面来揭开它神…

    Linux干货 2015-12-19
  • puppet代码分析

    这篇博客的目的是通过分析Forge上的Puppet模块来加深一些概念的理解,同时了解一些常用用法。 今天的例子是jfryman-nginx模块,它是原puppetlabs-nginx模块的升级版本,依赖3个Puppet公共模块:puppetlabs-apt,puppetlabs-stdlib和puppetlabs-concat。安装非常方便,puppet m…

    2017-03-18
  • 你的数据根本不够大,别老扯什么Hadoop了

    本文原名“Don’t use Hadoop when your data isn’t that big ”,出自有着多年从业经验的数据科学家Chris Stucchio,纽约大学柯朗研究所博士后,搞过高频交易平台,当过创业公司的CTO,更习惯称自己为统计学者。对了,他现在自己创业,提供数据分析、推荐优化咨询服务,他的邮件是:stucchio@gmail.co…

    Linux干货 2015-04-04
  • 马哥教育网络班22期第一周课程练习2-未闻花名

    语法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登陆操作。 参数: -f 代表[变量名称]中为函数名称。 -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。 -p…

    Linux干货 2016-08-15
  • 马哥教育网络班21期+第2周课程练习

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 目录及文件命令 pwd:打印当前工作路径(绝对路径),并且有相应的环境变量PWD表示。 cd:切换目录 ~用户家目录 ..当前目录的父目录 .当前目录 -上次所在的目录。 ls:查看目录下内容,常用选项 -a 列出目录下所有文件和目录;-d 只显示目录本身属性信息;-h 文件大小单…

    Linux干货 2016-07-17