Transaction RPM non terminée
Parfois certaines situations semblent vouées à un cuisant échec : vous entreprenez la mise à jour des logiciels présents sur votre machine via le système de gestion de packages; malheureusement, un incident (panne électrique, redémarrage non volontaire du serveur X, ou encore fermeture du terminal) interromps le processus de mise à jour.
Un drame sans précedent s'en suit :
Que vous utilisiez urpmi - smart ou encore yum, votre système de packages reste impassible à vos demandes :
rpmdb: unable to join the environment
> erreur: erreur db4(11) de dbenv->open: Ressource temporairement non
> disponible
> erreur: ne peut ouvrir l'index Packages en utilisant db3 - Ressource
> temporairement non disponible (11)
Que faire ?
Lorsqu'une transaction RPM est interrompue, des fichiers temporaires sont laissés dans son répertoire de travail.
Il s'agira dans un premier temps de les supprimer :
rm -rf /var/lib/rpm/__db.*
Faites attention ne pas supprimer le contenu de ce répertoire ! Ceci pourrait être facheux pour la suite des opérations.
Une fois cette opération effectuée, nous pouvons demander au système de reconstruire la base de données RPM afin qu'elle retrouve un état cohérent :
rpm --rebuilddb
Vous pouvez à présent utiliser votre système de packages normalement !