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