首页 公告 项目 RSS

记一次阿里云yum执行报错

July 3, 2017 本文有 727 个字 需要花费 2 分钟阅读

今天就是想用阿里云ecs安装一个nmap扫描一下自己的内网,没想到yum报错了

[root@izuf6hjejtwxsxe2mkyo9iz ~]# yum install nmap
错误:rpmdb: BDB0113 Thread/process 31840/139935988623168 failed: BDB1507 Thread died in Berkeley DB library
错误:db5 错误(-30973) 来自 dbenv->failchk:BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
错误:无法使用 db5 -  (-30973) 打开 Packages 索引
错误:无法从 /var/lib/rpm 打开软件包数据库
CRITICAL:yum.main:

Error: rpmdb open failed
[root@izuf6hjejtwxsxe2mkyo9iz ~]# yum install nmap
错误:rpmdb: BDB0113 Thread/process 31840/139935988623168 failed: BDB1507 Thread died in Berkeley DB library
错误:db5 错误(-30973) 来自 dbenv->failchk:BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
错误:无法使用 db5 -  (-30973) 打开 Packages 索引
错误:无法从 /var/lib/rpm 打开软件包数据库
CRITICAL:yum.main:

Error: rpmdb open failed
[root@izuf6hjejtwxsxe2mkyo9iz ~]# yum update
错误:rpmdb: BDB0113 Thread/process 31840/139935988623168 failed: BDB1507 Thread died in Berkeley DB library
错误:db5 错误(-30973) 来自 dbenv->failchk:BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
错误:无法使用 db5 -  (-30973) 打开 Packages 索引
错误:无法从 /var/lib/rpm 打开软件包数据库
CRITICAL:yum.main:

Error: rpmdb open failed
[root@izuf6hjejtwxsxe2mkyo9iz ~]# yum update
错误:rpmdb: BDB0113 Thread/process 31840/139935988623168 failed: BDB1507 Thread died in Berkeley DB library
错误:db5 错误(-30973) 来自 dbenv->failchk:BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
错误:无法使用 db5 -  (-30973) 打开 Packages 索引
错误:无法从 /var/lib/rpm 打开软件包数据库
CRITICAL:yum.main:

Error: rpmdb open failed

百度了一下,造成这个错误的原因是rpm数据库损坏
解决办法是重建rpm数据库
cd /var/lib/rpm
然后删除这个文件夹下的所有__db.*的文件
rm -rf __db.*
然后重建数据库
rpm --rebuilddb
然后执行
yum update
报错

[root@izuf6hjejtwxsxe2mkyo9iz rpm]# yum update
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
已杀死

百度后说是dns服务器的问题
所以造成第一个rpm数据库问题的主要原因也应该是这个问题
只要修改系统默认的dns服务器就好了
首先备份一下原来的resolv.conf
cp resolv.conf resolv.conf.bak
然后编辑
vim resolv.conf
我在网上查找到了两个公共dns服务器
在文件下面添加好就好了

options timeout:1 attempts:1 rotate single-request-reopen
nameserver 100.100.2.136
nameserver 100.100.2.138
nameserver 119.29.29.29
nameserver 182.254.116.116
search localdomain

之后
yum makecache
执行成功