GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo resolver el error "Error:rpmdb open fail" en CentOS

Hoy, estaba probando el servidor web Nginx en una máquina virtual CentOS 7. Desafortunadamente, la energía se ha ido en medio del proceso de actualización. Como no tengo un UPS, mi sistema host se cayó de inmediato. Después de unos minutos, llegó la energía, volví a encender la máquina virtual y comencé el proceso de actualización. Cuando ejecuto el comando "yum update", recibí este mensaje de error:

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

Parece que YUM se rompió. No pude ejecutar ningún comando yum. No me he enfrentado a este error antes, y no sabía qué hacer. Entonces, me dirigí al foro de CentOS con la esperanza de encontrar una solución adecuada para solucionar este problema. Después de algunas búsquedas en el foro, por suerte encontré una solución. Si alguna vez te encuentras con este problema, no busques a ningún lado y solo sigue los siguientes pasos.

Primero haga una copia de seguridad de la base de datos rpm usando el comando como usuario root:

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

Luego, ejecuta el siguiente comando:

# yum clean all

Ahora, ejecuta la actualización de nuevo:

# 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

Escribo y para continuar con la actualización. ¡Voila! Todo funciona como se esperaba.

Finalmente, limpié la copia de seguridad usando el comando:

# rm -i /tmp/__db*

Y, eso es todo por ahora. Espero que esto ayude.

Lectura relacionada:

  • [Resuelto] - "error:rpmdbNextIterator:omitiendo" en Fedora Linux

Cent OS
  1. Cómo eliminar kernels antiguos no utilizados en CentOS Linux

  2. Cómo resolver el "error:no se pudo confirmar la transacción (archivos en conflicto)" en Arch Linux

  3. Cómo instalar Open Classifieds en CentOS 7

  4. Cómo abrir un puerto en CentOS / RHEL 7

  5. Cómo configurar IPtables para abrir Puertos en CentOS/RHEL

Cómo instalar SNORT IDS en CentOS 7

Cómo revertir la aplicación de parches del sistema operativo en CentOS 8 / RHEL 8

Cómo actualizar CentOS 8 / RHEL 8

Cómo resolver el error de montaje del disco en Ubuntu

Cómo instalar Open Web Analytics en CentOS 7

¿Cómo reparar el error de error de rpmdb al procesar la actualización de cPanel?