Recherche de site Web

Comment réparer l'erreur Yum : l'image disque de la base de données est mal formée


Dans cet article, nous décrirons brièvement YUM, YumDB, puis la cause de l'Erreur Yum : l'image disque de la base de données est mal formée et comment résoudre ce problème. erreur.

YUM (Yellowdog Updater, Modified) est l'outil de haut niveau par défaut pour la gestion des packages Linux sur les distributions Linux basées sur RPM (RedHat Package Manager) telles que Red Hat Enterprise Linux (RHEL), CentOS ainsi que les anciennes versions de Fedora Linux, juste pour n'en citer que quelques-uns.

Cela fonctionne exactement comme la commande apt-get ou la commande apt relativement nouvelle ; il peut être utilisé pour installer de nouveaux packages, supprimer d'anciens packages et interroger les packages installés et/ou disponibles. Il peut également être utilisé pour mettre à jour un système (avec résolution des dépendances et traitement obsolète en fonction des métadonnées du référentiel stocké).

Remarque : ce guide supposera que vous contrôlez votre système en tant que root, sinon utilisez la commande sudo pour exécuter toutes les commandes ci-dessous. Fait intéressant, vous pouvez également exécuter la commande sudo sans saisir de mot de passe ; tu le savais, d'accord, continuons.

Brève compréhension de YumDB

À partir de la version 3.2.26, yum stocke des informations supplémentaires concernant les packages installés dans un emplacement en dehors de la base de données rpm générique ; dans une simple base de données de fichiers plats appelée yumdb (/var/lib/yum/yumdb/) – pas une vraie base de données.

cd /var/lib/yum/yumdb
ls 

Vous pouvez consulter l'un des sous-répertoires pour en savoir plus sur yumdb comme suit.

cd b
ls

Bien que ces informations ne soient pas d'une grande importance pour les processus yum, elles sont très utiles aux administrateurs système : elles décrivent clairement le contexte dans lequel un package a été installé sur le système.

Si vous essayiez de parcourir les fichiers (from_repo, installed_by, releasever etc.) affichés dans la capture d'écran ci-dessus, vous ne verriez probablement rien. important en eux.

Pour accéder aux informations qu'ils contiennent, vous devez installer yum-utils qui fournit un script appelé yumdb – puis utiliser ce script comme expliqué ci-dessous.

yum install yum-utils 

La commande suivante obtiendra le dépôt à partir duquel httpd a été installé.

yumdb get from_repo httpd

Pour définir une note sur les packages httpd et mariadb, tapez.

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

Et pour voir toutes les valeurs yumdb concernant httpd et mariadb, tapez.

yumdb info httpd mariadb

Correction de l'erreur Yum : l'image disque de la base de données est mal formée

Parfois, lors de l'installation d'un package ou de la mise à jour de votre système à l'aide de YUM, vous pouvez rencontrer l'erreur : « l'image disque de la base de données est mal formée ». Cela peut résulter d'un yumdb corrompu : peut-être causé par un obstacle au processus « yum update » ou à l'installation du package.

Pour corriger cette erreur, vous devez nettoyer le cache de la base de données en exécutant la commande ci-dessous.

yum clean dbcache 

Si la commande ci-dessus ne fonctionne pas (corrigez l'erreur), essayez d'exécuter la série de commandes ci-dessous.

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

Enfin, vous devez reconstruire la base de données RPM de votre système pour que cela fonctionne.

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

Si vous avez bien suivi les instructions ci-dessus, l'erreur devrait maintenant être résolue. Essayez ensuite de mettre à jour votre système comme suit.

yum update 

Vous pouvez également consulter ces articles importants concernant yum et d'autres gestionnaires de packages Linux :

  1. Comment utiliser « Yum History » pour connaître les informations sur les packages installés ou supprimés
  2. 27 commandes « DNF » (Fork of Yum) pour la gestion des packages RPM sous Linux
  3. Qu'est-ce que l'APT et l'Aptitude ? et quelle est la vraie différence entre eux ?
  4. Comment utiliser « apt-fast » pour accélérer les téléchargements de packages apt-get/apt à l'aide de plusieurs miroirs

Avez-vous des questions ou des idées à partager concernant ce sujet, utilisez la section commentaires ci-dessous pour le faire.