GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So beheben Sie den Fehler „Error:rpmdb open failed“ in CentOS

Heute habe ich den Nginx-Webserver in einer CentOS 7-VM getestet. Leider ist mitten im Update-Vorgang der Strom weg. Da ich keine USV habe, fiel mein Host-System sofort aus. Nach einigen Minuten kam der Strom, und ich schaltete die VM wieder ein und startete den Upgrade-Prozess. Wenn ich den Befehl „yum update“ ausführe, erhalte ich diese Fehlermeldung:

error: rpmdb: BDB0113 Thread/process 2196/139984719730496 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

Es scheint, als wäre YUM zusammengebrochen. Ich konnte keinen Yum-Befehl ausführen. Ich hatte diesen Fehler noch nie und wusste nicht, was ich tun sollte. Also ging ich zum CentOS-Forum, in der Hoffnung, eine geeignete Lösung zur Behebung dieses Problems zu finden. Nach ein paar Suchen im Forum habe ich glücklicherweise eine Lösung gefunden. Wenn Sie jemals auf dieses Problem gestoßen sind, schauen Sie nirgendwo hin und führen Sie einfach die folgenden Schritte aus.

Sichern Sie zuerst die RPM-Datenbank mit dem Befehl als Root-Benutzer:

# mv /var/lib/rpm/__db* /tmp

Führen Sie dann den folgenden Befehl aus:

# yum clean all

Führen Sie das Update jetzt erneut aus:

# yum update
Loaded plugins: fastestmirror
Cleaning repos: base epel extras updates
Cleaning up everything
Cleaning up list of fastest mirrors
[[email protected] ~]# yum update
Loaded plugins: fastestmirror
base | 3.6 kB 00:00 
epel/x86_64/metalink | 5.0 kB 00:00 
epel | 4.3 kB 00:00 
extras | 3.4 kB 00:00 
updates | 3.4 kB 00:00 
(1/7): base/7/x86_64/group_gz | 155 kB 00:02 
(2/7): epel/x86_64/group_gz | 170 kB 00:04 
(3/7): extras/7/x86_64/primary_db | 191 kB 00:12 
(4/7): epel/x86_64/updateinfo | 809 kB 00:21 
(5/7): base/7/x86_64/primary_db | 5.6 MB 00:26 
(6/7): epel/x86_64/primary_db | 4.8 MB 00:46 
(7/7): updates/7/x86_64/primary_db | 7.8 MB 00:50 
Determining fastest mirrors
 * base: mirror.ehost.vn
 * epel: repo.ugm.ac.id
 * extras: mirror.ehost.vn
 * updates: mirror.dhakacom.com
Resolving Dependencies
--> Running transaction check
---> Package NetworkManager.x86_64 1:1.4.0-19.el7_3 will be updated
---> Package NetworkManager.x86_64 1:1.4.0-20.el7_3 will be an update
---> Package NetworkManager-adsl.x86_64 1:1.4.0-19.el7_3 will be updated
[...]
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package Arch Version Repository Size
================================================================================
Installing:
 kernel x86_64 3.10.0-514.26.2.el7 updates 37 M
 python2-libcomps x86_64 0.1.8-3.el7 epel 46 k
 replacing python-libcomps.x86_64 0.1.6-13.el7
Updating:
 NetworkManager x86_64 1:1.4.0-20.el7_3 updates 2.5 M
 NetworkManager-adsl x86_64 1:1.4.0-20.el7_3 updates 146 k
 NetworkManager-bluetooth x86_64 1:1.4.0-20.el7_3 updates 165 k
 NetworkManager-glib x86_64 1:1.4.0-20.el7_3 updates 385 k
 NetworkManager-libnm x86_64 1:1.4.0-20.el7_3 updates 443 k
 NetworkManager-team x86_64 1:1.4.0-20.el7_3 updates 147 k
 python-perf x86_64 3.10.0-514.26.2.el7 updates 4.0 M
 sudo x86_64 1.8.6p7-23.el7_3 updates 735 k
 systemd x86_64 219-30.el7_3.9 updates 5.2 M
 systemd-libs x86_64 219-30.el7_3.9 updates 369 k
 systemd-sysv x86_64 219-30.el7_3.9 updates 64 k
 tuned noarch 2.7.1-3.el7_3.2 updates 210 k
 xfsprogs x86_64 4.5.0-10.el7_3 updates 895 k
Removing:
 kernel x86_64 3.10.0-123.el7 @anaconda 127 M

Transaction Summary
================================================================================
Install 2 Packages
Upgrade 46 Packages
Remove 1 Package

Total download size: 84 M
Is this ok [y/d/N]: y

Ich tippe y um das Update fortzusetzen. Voila! Alles funktioniert wie erwartet.

Schließlich habe ich das Backup mit dem Befehl bereinigt:

# rm -i /tmp/__db*

Und das ist alles für jetzt. Hoffe das hilft.

Verwandte Lektüre:

  • [Gelöst] - "error:rpmdbNextIterator:skipping" In Fedora Linux

Cent OS
  1. So entfernen Sie alte unbenutzte Kernel unter CentOS Linux

  2. So installieren Sie VMware Workstation 8 auf CentOS 6 / RHEL 6 (x86_64)

  3. So lösen Sie „Fehler:Transaktion konnte nicht ausgeführt werden (widersprüchliche Dateien)“ in Arch Linux

  4. So beheben Sie den Fehler „semanage command“ Not Found in CentOS

  5. So öffnen Sie den HTTP-Port ( 80 ) in Iptables unter CentOS

So installieren Sie SNORT IDS unter CentOS 7

So stellen Sie das OS-Patching auf CentOS 8 / RHEL 8 wieder her

So aktualisieren Sie CentOS 8 / RHEL 8

So lösen Sie den Festplatten-Mount-Fehler in Ubuntu

So installieren Sie Open Web Analytics unter CentOS 7

Wie behebt man den fehlgeschlagenen Fehler von rpmdb während der Verarbeitung des cPanel-Updates?