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 corriger cette erreur.
YUM (Yellowdog Updater, Modified) est l’outil par défaut de haut niveau pour la gestion des paquets 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, pour n’en citer que quelques-unes.
Elle fonctionne comme la commande apt-get ou la commande apt relativement nouvelle ; elle peut être utilisée pour installer de nouveaux paquets, supprimer d’anciens paquets et interroger les paquets installés et/ou disponibles. Elle peut également être utilisée pour mettre à jour un système (ainsi que pour résoudre les dépendances et traiter les déchets obsolètes en fonction des métadonnées du dépôt 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. Il est intéressant de noter que vous pouvez également exécuter la commande sudo sans entrer de mot de passe ; saviez-vous que, d’accord, continuons.
Brève compréhension de YumDB
À partir de la version 3.2.26, yum stocke les informations supplémentaires concernant les paquets installés dans un emplacement en dehors de la base de données générique rpm ; 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 pour les administrateurs système : elles décrivent clairement le contexte dans lequel un paquet a été installé sur le système.
Si vous essayiez de regarder les fichiers (from_repo, installed_by, releasever, etc.) montrés dans la capture d’écran ci-dessus, vous n’y verriez probablement rien d’important.
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 récupérera le dépôt à partir duquel httpd a été installé.
# yumdb get from_repo httpd
Pour définir une note sur les paquets httpd et mariadb, tapez.
# yumdb set note "installed by aaronkilik to setup LAMP" httpd mariadb
Et pour afficher toutes les valeurs de 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 incorrecte
Parfois, lors de l’installation d’un paquet 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’une yumdb corrompue : peut-être causée par un obstacle au processus de « mise à jour yum » ou à l’installation du paquet.
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 qu’elle fonctionne.
# mv /var/lib/rpm/__db* /tmp
rpm --rebuilddb
Si vous avez bien suivi les instructions ci-dessus, l’erreur devrait être résolue maintenant. 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 paquets Linux :
- Comment utiliser « Yum History » pour trouver des informations sur les paquets installés ou supprimés
- 27 commandes 'DNF' (fork of yam) pour la gestion des paquets RPM sous Linux
- Qu’est-ce que l’APT et l’aptitude ? et quelle est la vraie différence entre eux ?
- Comment utiliser 'apt-fast' pour accélérer les téléchargements de paquets apt-get/apt à l’aide de plusieurs miroirs
Si vous avez des questions ou des idées à partager sur ce sujet, utilisez la section des commentaires ci-dessous pour le faire.







