« RPM : Récupérer la base de données » : différence entre les versions
Page créée avec « {{EnCours|auteur=Adadov}} This document provides an overview of how to deal with RPM database corruption. == Removing stale locks == If an RPM command hangs, segfaults,... » |
Aucun résumé des modifications |
||
(9 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{ | {{Auteur|Adadov}} | ||
Il arrive que la base de données RPM se mette en erreur, il est toujours utile d'avoir sous la main la procédure pour la remettre sur pieds. | |||
== | == Supprimer le fichier de lock == | ||
Si une commande RPM se bloque, plante ou disfonctionne, il faut commencer par vérifier les fichiers de lock. On peut le faire avec -CA sur la commande rpmdb_stat: | |||
{{LxTerm|user=root|cd /var/lib/rpm | |||
/usr/lib/rpm/rpmdb_stat -CA}} | |||
== Reconstruire la base de données RPM == | |||
Si après le nettoyage les problèmes persistes, la base est probablement corrompue. Il se peut aussi que vous ayez directement reçu un message vous annonçant la corruption ... | |||
Dans ce cas il vous faudra reconstruire les metadonnées. Cette action est '''DESTRUCTIVE''' pensez bien à faire une sauvegarde avant en cas de soucis. | |||
{{LxTerm|user=root|cd /var/lib | |||
tar zcvf /var/preserve/rpmdb-`date +"%d%m%Y"`.tar.gz rpm}} | |||
Ensuite on vérifie l'intégrité du fichier Packages. | |||
{{LxTerm|user=root|cd /var/lib/rpm | |||
rm -f __db* # to avoid stale locks | |||
/usr/lib/rpm/rpmdb_verify Packages}} | |||
Si vous obtenez une erreur, régénérez le. | |||
{{LxTerm|user=root|mv Packages Packages.orig | |||
/usr/lib/rpm/rpmdb_dump Packages.orig {{!}} /usr/lib/rpm/rpmdb_load Packages | |||
/usr/lib/rpm/rpmdb_verify Packages}} | |||
= | Pour vérifier que tout est en ordre vous pouvez utiliser la fonction suivante: | ||
{{LxTerm|user=root|rpm -qa 1> /dev/null}} | |||
Il ne restera plus qu'à reconstruire les métadonnées elles-mêmes: | |||
{{LxTerm|user=root|rpm -v --rebuilddb}} | |||
Votre base de RPM devrait de nouveau fonctionner. | |||
[[Category:RPM]] | |||
[[Category:SysAdmin]] | |||
Dernière version du 14 août 2018 à 12:28
Il arrive que la base de données RPM se mette en erreur, il est toujours utile d'avoir sous la main la procédure pour la remettre sur pieds.
Supprimer le fichier de lock[modifier | modifier le wikicode]
Si une commande RPM se bloque, plante ou disfonctionne, il faut commencer par vérifier les fichiers de lock. On peut le faire avec -CA sur la commande rpmdb_stat:
[root@linux] # | cd /var/lib/rpm | dblclick to copy |
[root@linux] # | /usr/lib/rpm/rpmdb_stat -CA |
Reconstruire la base de données RPM[modifier | modifier le wikicode]
Si après le nettoyage les problèmes persistes, la base est probablement corrompue. Il se peut aussi que vous ayez directement reçu un message vous annonçant la corruption ...
Dans ce cas il vous faudra reconstruire les metadonnées. Cette action est DESTRUCTIVE pensez bien à faire une sauvegarde avant en cas de soucis.
[root@linux] # | cd /var/lib | dblclick to copy |
[root@linux] # | tar zcvf /var/preserve/rpmdb-`date +"%d%m%Y"`.tar.gz rpm |
Ensuite on vérifie l'intégrité du fichier Packages.
[root@linux] # | cd /var/lib/rpm | dblclick to copy |
[root@linux] # | rm -f __db* # to avoid stale locks | |
[root@linux] # | /usr/lib/rpm/rpmdb_verify Packages |
Si vous obtenez une erreur, régénérez le.
[root@linux] # | mv Packages Packages.orig | dblclick to copy |
[root@linux] # | /usr/lib/rpm/rpmdb_dump Packages.orig | /usr/lib/rpm/rpmdb_load Packages | |
[root@linux] # | /usr/lib/rpm/rpmdb_verify Packages |
Pour vérifier que tout est en ordre vous pouvez utiliser la fonction suivante:
[root@linux] # | rpm -qa 1> /dev/null | dblclick to copy |
Il ne restera plus qu'à reconstruire les métadonnées elles-mêmes:
[root@linux] # | rpm -v --rebuilddb | dblclick to copy |
Votre base de RPM devrait de nouveau fonctionner.