yum 错误:rpmdb 打开失败

Ale*_*lig 56 yum centos

我正在尝试运行yum update,但出现此错误:

rpmdb: PANIC: fatal region error detected; run recovery
error: db3 error(-30974) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 - (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed
Run Code Online (Sandbox Code Playgroud)

我查了一下页面这样的一个,但运行yum clean all运行相同的错误。

我该如何解决这个问题?

Ale*_*lig 120

这就是我解决问题的方法。

您可以通过清除 rpm 数据库来解决此问题。但首先,为了将风险降至最低,请确保/var/lib/rpm/使用以下cp命令创建文件备份:

mkdir /root/backups.rpm.mm_dd_yyyy/
cp -avr /var/lib/rpm/ /root/backups.rpm.mm_dd_yyyy/
Run Code Online (Sandbox Code Playgroud)

试试这个来解决这个问题:

# rm -f /var/lib/rpm/__db*
# db_verify /var/lib/rpm/Packages
# rpm --rebuilddb
# yum clean all
Run Code Online (Sandbox Code Playgroud)

最后使用以下 yum 命令验证错误已消失

# yum update
Run Code Online (Sandbox Code Playgroud)

  • 为什么不只是`cd /var/lib/rpm; db_recover` ? 在大多数情况下,这不是一个核选项。 (11认同)
  • 我发现只有 `sudo rpm --rebuilddb` 就可以解决我的问题。尽管如此,为了安全起见,始终备份`/var/lib/rpm`。 (4认同)