Cómo corregir el error de Yum: la imagen del disco de la base de datos tiene un formato incorrecto


En este artículo, describiremos brevemente YUM, YumDB, luego la causa del error Yum: la imagen del disco de la base de datos está mal formada y cómo solucionar este error.

Distribuciones de Linux basadas en RPM (RedHat Package Manager) como Red Hat Enterprise Linux (RHEL), CentOS, así como versiones anteriores de Fedora Linux, solo por mencionar algunas.

Funciona igual que el nuevo comando apt; se puede utilizar para instalar nuevos paquetes, eliminar paquetes antiguos y consultar paquetes instalados y/o disponibles. También se puede utilizar para actualizar un sistema (junto con la resolución de dependencias y el procesamiento obsoleto según los metadatos del repositorio almacenados).

Nota: Esta guía asumirá que está controlando su sistema como root; de lo contrario, use el comando sudo sin ingresar una contraseña; ¿Sabías eso? Está bien, continuemos.

Breve comprensión de YumDB

A partir de la versión 3.2.26, yum almacena información complementaria sobre los paquetes instalados en una ubicación fuera de la base de datos rpm genérica; en una base de datos de archivo plano simple llamada yumdb (/ var/lib/yum/yumdb /) - no es una base de datos real.

# cd /var/lib/yum/yumdb
# ls 

Puede consultar uno de los subdirectorios para obtener más información sobre yumdb de la siguiente manera.

# cd b
# ls

Aunque esta información no es de gran importancia para los procesos yum, es muy útil para los administradores del sistema: describe claramente el contexto en el que se instaló un paquete en el sistema.

Si intenta buscar en los archivos (from_repo, installed_by, releasever, etc.) que se muestran en la captura de pantalla anterior, probablemente no verá nada importante en ellos.

Para acceder a la información en ellos, debe instalar yum-utils que proporciona un script llamado yumdb, luego use este script como se explica a continuación.

# yum install yum-utils 

El siguiente comando obtendrá el repositorio desde el que se instaló httpd.

# yumdb get from_repo httpd

Para definir una nota sobre los paquetes httpd y mariadb, escriba.

# yumdb set note "installed by aaronkilik to setup LAMP" httpd mariadb

Y para ver todos los valores de yumdb relacionados con httpd y mariadb, escriba.

# yumdb info httpd mariadb

Corregir el error de Yum: la imagen del disco de la base de datos está mal formada

Ocasionalmente, al instalar un paquete o actualizar su sistema usando YUM, puede encontrar el error: "la imagen del disco de la base de datos tiene un formato incorrecto". Puede ser el resultado de un yumdb dañado: posiblemente causado por un impedimento del proceso de "actualización de yum" o la instalación del paquete.

Para corregir este error, debe limpiar la memoria caché de la base de datos ejecutando el siguiente comando.

# yum clean dbcache 

Si el comando anterior no funciona (corrija el error), intente ejecutar la serie de comandos a continuación.

# yum clean all			#delete entries in /var/cache/yum/ directory.
# yum clean metadata		#clear XML metadeta		
# yum clean dbcache		#clear the cached files for database
# yum makecache		        #make cache

Finalmente, debe reconstruir la base de datos RPM de su sistema para que funcione.

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

Si ha seguido bien las instrucciones anteriores, el error ya debería estar resuelto. Luego intente actualizar su sistema de la siguiente manera.

# yum update 

También puede consultar estos artículos importantes sobre yum y otros administradores de paquetes de Linux:

  1. Cómo utilizar el "Historial de Yum" para averiguar la información de los paquetes instalados o eliminados
  2. 27 comandos "DNF" (bifurcación de Yum) para la administración de paquetes RPM en Linux
  3. ¿Qué es APT y Aptitude? y ¿cuál es la diferencia real entre ellos?
  4. Cómo usar "apt-fast" para acelerar las descargas de paquetes apt-get/apt usando múltiples espejos

¿Tiene alguna pregunta o idea que compartir sobre este tema? Utilice la sección de comentarios a continuación para hacerlo.