yum报错Error:rpmdb failed release provides.处理

删除出问题服务器的/var/lib/rpm目录下的__db.*文件后,重新rpm -rebuilddb无法解决此问题!
查看此设备系统版本为CentOS Linux release 7.9.2009 (Core)
从另一台相同版本的系统中,打包/var/lib/下的rpm目录,然后导入到出问题的设备中。

1
2
3
4
5
$ cd /var/lib/
$ tar -czf /rpm82.tar.gz rpm
# 打包rpm目录到/目录,命名为rpm82.tar.gz
$ scp /rpm82.tar.gz root@192.168.31.64:/backup
# 将打包后的rpm82.tar.gz传送到yum报错的服务器的/backup目录下

然后到出问题的服务器中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ cd /backup
$ tar -zxf rpm82.tar.gz
# 进入到/backup目录,将传送过来的rpm82.tar.gz解压后,会得到一个rpm目录,其路径为/backup/rpm/
$ mkdir /tmp/1
$ cd /var/lib/
$ cp -av rpm /tmp/1
# 将原来的/var/lib/目录下的rpm目录移动到/tmp/1目录中
$ cd /var/lib/rpm
$ rm -rf *
$rm .dbenv.lock
$ rm .rpm.lock
# 删除/var/lib/rpm目录中的所有内容,包括两个隐藏文件
$ cp -av /backup/rpm/* ./
# 将上传过来的rpm目录下的内容拷贝到/var/lib/rpm目录下
$ rpm --rebuilddb
$ yum clean all
$ yum repolist

至此问题解决。

课程中心

在线课程