说明

正在安装RPM包时,虚拟机移动硬盘突然掉了,导致虚拟机挂了,然后重新接上。再运行YUM安装时就报错如下:

[root@sqlserver ~]# yum install -y mssql-server
error: rpmdb: BDB0113 Thread/process 12800/140445200197440 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

原因

rpm数据库被损坏了。

解决方法

修改一下数据库即可,如:

[root@sqlserver ~]# cd /var/lib/rpm
[root@sqlserver rpm]# ll
total 82932
-rw-r--r--. 1 root root  3690496 Dec 29 10:18 Basenames
-rw-r--r--. 1 root root    16384 Dec 29 10:18 Conflictname
-rw-r--r--. 1 root root   270336 Dec 29 10:28 __db.001
-rw-r--r--. 1 root root    81920 Dec 29 10:28 __db.002
-rw-r--r--. 1 root root  1318912 Dec 29 10:28 __db.003
-rw-r--r--. 1 root root  1146880 Dec 29 10:18 Dirnames
-rw-r--r--. 1 root root    32768 Dec 29 10:18 Group
-rw-r--r--. 1 root root    20480 Dec 29 10:18 Installtid
-rw-r--r--. 1 root root    73728 Dec 29 10:18 Name
-rw-r--r--. 1 root root    32768 Dec 29 10:18 Obsoletename
-rw-r--r--. 1 root root 75317248 Dec 29 10:18 Packages
-rw-r--r--. 1 root root  2375680 Dec 29 10:18 Providename
-rw-r--r--. 1 root root   479232 Dec 29 10:18 Requirename
-rw-r--r--. 1 root root   122880 Dec 29 10:18 Sha1header
-rw-r--r--. 1 root root    73728 Dec 29 10:18 Sigmd5
-rw-r--r--. 1 root root     8192 Dec 29 10:17 Triggername
[root@sqlserver rpm]# rm -rf __db.00*  --删除掉__db.00开头的数据库文件
[root@sqlserver rpm]# rpm --rebuilddb   --重建rpm数据库
--随便运行一个yum命令,就会出现新的数据库文件
[root@sqlserver rpm]# yum
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
You need to give some command
Usage: yum [options] COMMAND

List of Commands:
。。。略

--再次查看
[root@sqlserver rpm]# ll
total 83568
-rw-r--r--. 1 root root  3772416 Dec 29 10:32 Basenames
-rw-r--r--. 1 root root    16384 Dec 29 10:32 Conflictname
-rw-r--r--. 1 root root   270336 Dec 29 10:33 __db.001
-rw-r--r--. 1 root root    81920 Dec 29 10:33 __db.002
-rw-r--r--. 1 root root    57344 Dec 29 10:33 __db.003
-rw-r--r--. 1 root root  1142784 Dec 29 10:32 Dirnames
-rw-r--r--. 1 root root    36864 Dec 29 10:32 Group
-rw-r--r--. 1 root root    20480 Dec 29 10:32 Installtid
-rw-r--r--. 1 root root    73728 Dec 29 10:32 Name
-rw-r--r--. 1 root root    32768 Dec 29 10:32 Obsoletename
-rw-r--r--. 1 root root 75317248 Dec 29 10:32 Packages
-rw-r--r--. 1 root root  2379776 Dec 29 10:32 Providename
-rw-r--r--. 1 root root   466944 Dec 29 10:32 Requirename
-rw-r--r--. 1 root root   126976 Dec 29 10:32 Sha1header
-rw-r--r--. 1 root root    73728 Dec 29 10:32 Sigmd5
-rw-r--r--. 1 root root     8192 Dec 29 10:32 Triggername
[root@sqlserver rpm]#

修复完成

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐