rpmdb损坏的修复方法

简介: yum强制终止后,提示rpmdb损坏 error: cannot open providename index using db3 - bad file descriptor

背景:

   一次yum做更新的时候,强制终止了该进程,后来再使用yum的时候就报错了:
error: cannot open providename index using db3 - bad file descriptor

image

   如报错所述,rpmdb损坏,rpmdb简单来说是用来存储一些软件包的依赖关系,解析安装过程中的依赖关系的

解决方法:
1,尝试初始化db

rpmdb --initdb

image

2,尝试重建db

rpmdb --rebuilddb

image

注:rpmdb 命令用于初始化和重建rpm数据库
--initdb:初始化RPM数据库; 
--rebuilddb:从已安装的包头文件,反向重建RPM数据库。

3,查看db文件
ls -l /var/lib/rpm/ |grep db
image

4,删除db文件,然后测试一下(千万小心删除,一定要进到目录里面)

cd /var/lib/rpm/
rm __db.00* -rf

image

5, yum 试下

yum search ssh

image
image
db文件重新生成,也可以search到对应的软件包了~修复成功!

目录
相关文章
|
4月前
|
vr&ar
检查和修复文件系统错误 - fsck
【1月更文挑战第12天】
70 0
|
存储 关系型数据库 块存储
Ceph 磁盘损坏现象和解决方法
Damaged disks 对于存储系统,磁盘是消耗品,损坏是很常见的,所以这篇文章记录一下 Ceph 中出现磁盘损坏时的现象,以及如何定位和更换损坏的磁盘。
2089 0
|
12月前
|
Oracle 关系型数据库 数据库
自动从备库修复主库的坏块
数据库的坏块经常是一件非常棘手的事情,Oracle数据库从11.2后,使用 Active Data Guard option 时,主库和备库可以自动借用对方的block来修复自身的坏块,这个过程对应用是透明的。
|
Oracle 关系型数据库 索引