GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come risolvere l'errore "Errore:apertura rpmdb non riuscita" in CentOS

Oggi stavo testando il server web Nginx in una VM CentOS 7. Sfortunatamente, l'alimentazione è andata nel mezzo del processo di aggiornamento. Dal momento che non ho un UPS, il mio sistema host si è interrotto immediatamente. Dopo pochi minuti, è arrivata l'alimentazione, ho acceso di nuovo la VM e ho avviato il processo di aggiornamento. Quando eseguo il comando "yum update", ho ricevuto questo messaggio di errore:

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

Sembra che YUM si sia rotto. Non sono riuscito a eseguire alcun comando yum. Non ho riscontrato questo errore prima e non sapevo cosa fare. Quindi, sono andato al forum CentOS sperando di trovare una soluzione adatta per risolvere questo problema. Dopo alcune ricerche sul forum, fortunatamente ho trovato una soluzione alternativa. Se hai mai riscontrato questo problema, non cercare da nessuna parte e segui i passaggi seguenti.

Per prima cosa esegui il backup del database rpm usando il comando come utente root:

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

Quindi, esegui il comando seguente:

# yum clean all

Ora, esegui di nuovo l'aggiornamento:

# 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

Digito y per continuare l'aggiornamento. Ecco! Tutto ha funzionato come previsto.

Infine, ho pulito il backup usando il comando:

# rm -i /tmp/__db*

E per ora è tutto. Spero che questo aiuti.

Lettura correlata:

  • [Risolto] - "errore:rpmdbNextIterator:saltare" In Fedora Linux

Cent OS
  1. Come rimuovere i vecchi kernel inutilizzati su CentOS Linux

  2. Come installare VMware Workstation 8 su CentOS 6 / RHEL 6 (x86_64)

  3. Come risolvere "errore:impossibile eseguire il commit della transazione (file in conflitto)" in Arch Linux

  4. Come aprire la porta HTTP ( 80 ) in Iptables su CentOS

  5. Come installare gli annunci aperti su CentOS 7

Come installare SNORT IDS su CentOS 7

Come ripristinare la patch del sistema operativo su CentOS 8 / RHEL 8

Come aggiornare CentOS 8 / RHEL 8

Come risolvere l'errore di montaggio del disco in Ubuntu

Come installare Open Web Analytics su CentOS 7

Come correggere l'errore rpmdb non riuscito durante l'elaborazione dell'aggiornamento di cPanel?