Modification de RPM : Récupérer la base de données
La modification peut être annulée. Veuillez vérifier les différences ci-dessous pour voir si c’est bien ce que vous voulez faire, puis publier ces changements pour finaliser l’annulation de cette modification.
Version actuelle | Votre texte | ||
Ligne 13 : | Ligne 13 : | ||
Dans ce cas il vous faudra reconstruire les metadonnées. Cette action est '''DESTRUCTIVE''' pensez bien à faire une sauvegarde avant en cas de soucis. | 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 | {{LxTerm|user=root|cd /var/lib | ||
tar zcvf /var/preserve/rpmdb-`date +"%d%m%Y"`.tar.gz rpm}} | tar zcvf /var/preserve/rpmdb-`date +"%d%m%Y"`.tar.gz rpm}} | ||
Ensuite on vérifie l'intégrité du fichier Packages. | Ensuite on vérifie l'intégrité du fichier Packages. | ||
{{LxTerm|user=root|cd /var/lib/rpm | {{LxTerm|user=root|cd /var/lib/rpm | ||
rm -f __db* # to avoid stale locks | rm -f __db* # to avoid stale locks | ||
Ligne 22 : | Ligne 24 : | ||
Si vous obtenez une erreur, régénérez le. | Si vous obtenez une erreur, régénérez le. | ||
{{LxTerm|user=root|mv Packages Packages.orig | {{LxTerm|user=root|mv Packages Packages.orig | ||
/usr/lib/rpm/rpmdb_dump Packages.orig | /usr/lib/rpm/rpmdb_dump Packages.orig | /usr/lib/rpm/rpmdb_load Packages | ||
/usr/lib/rpm/rpmdb_verify Packages}} | /usr/lib/rpm/rpmdb_verify Packages}} | ||
If the Packages file now passes the verify step, then as an additional sanity check query all headers in the DB by doing, and watch for any messages sent to standard error (it helps to discard standard out when looking for this): | |||
{{LxTerm|user=root|rpm -qa 1> /dev/null}} | {{LxTerm|user=root|rpm -qa 1> /dev/null}} | ||
If this query passes without generating any messages to standard error, then it is time to rebuild the indexes by invoking: | |||
{{LxTerm|user=root|rpm -v --rebuilddb}} | {{LxTerm|user=root|rpm -v --rebuilddb}} | ||
At this point you should have a functioning RPM database again. If any of the recovery steps failed, then a bug should be reported. When creating the report, provide the tar.gz backup of the RPM DB as an attachment, along with any daily package list log files named /var/log/rpm*. | |||
[[Category:RPM]] | [[Category:RPM]] | ||
[[Category:SysAdmin]] | [[Category:SysAdmin]] |