前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >技术角 | 解决CentOS在执行yum命令时报错"Error: rpmdb open failed"

技术角 | 解决CentOS在执行yum命令时报错"Error: rpmdb open failed"

作者头像
ZNing
发布2020-07-16 15:16:02
5190
发布2020-07-16 15:16:02
举报
文章被收录于专栏:ZNing·腾创库ZNing·腾创库

今天在日常进行CentOS操作的时候,不知为何yum -y install xxx命令突然卡死不动,Ctrl+C取消执行也无解,遂关闭SSH重新建立连接,然而再次重新执行yum -y install xxx命令时却报如下错误:

代码语言:javascript
复制
...
root@localhost:~>yum -y install xxx
Loaded plugins: fastestmirror, langpacks
Existing lock /var/run/yum.pid: another copy is running as pid 27970.
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory :  43 M RSS (362 MB VSZ)
    Started: Mon Jul 13 18:27:38 2020 - 03:46 ago
    State  : Uninterruptible, pid: 27970
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory :  43 M RSS (362 MB VSZ)
    Started: Mon Jul 13 18:27:38 2020 - 03:48 ago
    State  : Uninterruptible, pid: 27970
...

初步判断应该是进程号为27970的那个假死了,即使刚才SSH关闭了也并没有杀掉他,遂干脆利落的执行了kill -9 27970直接杀死,后再执行yum -y install xxx命令,结果又有报错:

代码语言:javascript
复制
...
root@localhost:~>yum -y install xxx
error: rpmdb: BDB0113 Thread/process 27970/140274709284672 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
...

哦豁,凉了,rpmdb本地数据存储文件炸了……不过好在有解决方法。

执行如下命令,清理YUM仓库本地数据存储文件:

代码语言:javascript
复制
mv /var/lib/rpm/__db* /tmp;

执行如下命令,清理yum缓存:

代码语言:javascript
复制
rpm --rebuilddb;
yum clean all

大功告成。

现在细想一下,yum当时有可能是因为网络问题假死,可能再等等就好了,不过毕竟当时有点着急,以后得注意下。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 慧响 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据保险箱
数据保险箱(Cloud Data Coffer Service,CDCS)为您提供更高安全系数的企业核心数据存储服务。您可以通过自定义过期天数的方法删除数据,避免误删带来的损害,还可以将数据跨地域存储,防止一些不可抗因素导致的数据丢失。数据保险箱支持通过控制台、API 等多样化方式快速简单接入,实现海量数据的存储管理。您可以使用数据保险箱对文件数据进行上传、下载,最终实现数据的安全存储和提取。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档