GNU/Linux >> Znalost Linux >  >> Cent OS

Jak vyřešit „Chyba:rpmdb open failed“ Chyba v CentOS

Dnes jsem testoval webový server Nginx ve virtuálním počítači CentOS 7. Bohužel se uprostřed procesu aktualizace ztratila energie. Protože nemám UPS, můj hostitelský systém okamžitě selhal. Po několika minutách došlo k napájení a znovu jsem zapnul VM a zahájil proces upgradu. Když spustím příkaz "yum update", zobrazí se tato chybová zpráva:

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

Vypadá to, že se YUM porouchalo. Nemohl jsem spustit žádný příkaz yum. S touto chybou jsem se ještě nesetkal a nevěděl jsem, co mám dělat. Zamířil jsem tedy na fórum CentOS v naději, že najdu vhodné řešení k vyřešení tohoto problému. Po několika hledáních na fóru jsem naštěstí našel řešení. Pokud jste se někdy dostali do tohoto problému, nikam nehledejte a proveďte následující kroky.

Nejprve zálohujte databázi rpm pomocí příkazu jako uživatel root:

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

Potom spusťte následující příkaz:

# yum clean all

Nyní spusťte aktualizaci znovu:

# 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

Píšu y pokračovat v aktualizaci. Voila! Vše funguje podle očekávání.

Nakonec jsem zálohu vyčistil pomocí příkazu:

# rm -i /tmp/__db*

A to je zatím vše. Doufám, že to pomůže.

Související čtení:

  • [Vyřešeno] – „chyba:rpmdbNextIterator:přeskakování“ ve Fedora Linux

Cent OS
  1. Jak nainstalovat VMware Workstation 8 na CentOS 6 / RHEL 6 (x86_64)

  2. Jak otevřít port Http ( 80 ) v Iptables na CentOS

  3. Jak nainstalovat otevřené inzeráty na CentOS 7

  1. Jak vyřešit „chybu:nepodařilo se potvrdit transakci (konfliktní soubory)“ v Arch Linuxu

  2. Jak opravit chybu „semanage command“ Not Found Error v CentOS

  3. Jak upgradovat git na nejnovější verzi na CentOS

  1. Jak odstranit stará nepoužívaná jádra na CentOS Linux

  2. Jak otevřít port v CentOS / RHEL 7

  3. Jak nakonfigurovat IPtables pro otevření portů v CentOS / RHEL