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

Reconstruir una base de datos RPM corrupta

Hace unos días, uno de nuestros clientes informó que no podía instalar ningún paquete usando el comando yum usando CentOS Linux. Después de investigar, encontré que la base de datos RPM estaba dañada. Este es un problema muy común en los servidores CentOS y RHEL.

Los servidores CentOS y RHEL usan rpm para administrar la instalación, eliminación y actualización de paquetes. Si la base de datos rpm está corrupta de algún modo, otras herramientas del sistema que dependen de RPM, como Yum/Dnf, dejarán de funcionar.

¿Cómo puedo reconstruir la base de datos RPM en CentOS o RHEL?

Instale algunos requisitos para asegurarse de que puede arreglar su base de datos RPM:

yum install db4-utils yum-utils -y

Siempre asegúrese de tener una copia de seguridad de su base de datos RPM actual

rsync -avpr /var/lib/rpm /var/lib/rpm.bak

Reconstruir una base de datos RPM corrupta:2 soluciones

1) Eliminar archivos de base de datos RPM y reconstruir:

rm /var/lib/__db* -fv
rpm --rebuilddb

El comando rpm –rebuilddb reconstruye la base de datos RPM basándose en el archivo /var/lib/rpm/Packages. Los archivos de "Paquetes" son necesarios para reconstruir su base de datos RPM. En servidores lentos, este comando puede tardar algún tiempo en ejecutarse.

Intente usar yum normall ahora, si eso no soluciona su problema, continúe con el paso 2:

2) Recargar paquetes RPM

Otra buena estrategia para reconstruir su base de datos RPM corrupta es usar las herramientas db_dump y db_load. En el ejemplo a continuación, usaremos db_dump para volcar el archivo de paquetes, y luego se usará db_load para volver a cargar el archivo de paquetes. Esta es una forma alternativa de solucionar problemas de RPM Db:

cd /var/lib/rpmdb
mv Packages Packages.bak
db_dump Packages.bak | db_load Packages

Como una verificación de cordura adicional, consulte todos los encabezados en la base de datos

rpm -qa

Finalmente, reconstruya la base de datos RPM:

rpm --rebuilddb

En este punto, debería tener su base de datos RPM funcionando completamente nuevamente. Háganos saber si estos dos pasos no funcionan para usted o si conoce otras soluciones para compartir con nosotros.

Lecturas adicionales

  • Reconstruya una base de datos RPM, por rpm.org:http://www.rpm.org/max-rpm/ch-rpm-miscellania.html
  • Reconstruyendo la base de datos RPM, por:fedoraproject.org: http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch04s05s02.html
  • RPM DB Recovery en RHEL, por Daniel Berrange: http://people.redhat.com/berrange/notes/rpmrecovery.html

Reconstruir una base de datos RPM dañada fue modificada por última vez:7 de febrero de 2017 por Esteban Borges
Cent OS
  1. Preguntas frecuentes sobre la implementación de MySQL

  2. Optimizar la base de datos MySQL

  3. Comandos RPM

  4. Cómo reparar una tabla de base de datos Mysql dañada

  5. Cómo recuperarse de una base de datos RPM corrupta (reconstruir una base de datos RPM)

10 mejores prácticas de seguridad de bases de datos

¿Qué es una base de datos?

Cómo crear una base de datos en PostgreSQL

Comando RPM en Linux

Servidor de base de datos MySQL

Instalar htop en centos 6.4