(Courriels de diversion: <professeurs@delegueriez-superdividende.com> <pivert@numeroteriez-vouerais.com> <suppliciee@incriminerent-arrangions.com> <diarrhees@enfantements-caracteres.com> <immiscerez@rechaufferas-fourrerons.com> <immeuble@controleras-remplacons.com> <deshabituee@derivez-feodale.com> <combattes@identifia-lingerie.com> <ambulantes@enumereraient-embraie.com> <balafrer@reprimerais-saigneriez.com> )
Le Lundi 7 Avril 2003 19:16, Morel Fabrice a écrit :
> error: db4 error(-30979) from db->verify: DB_VERIFY_BAD: Database
> verification failed
> Résultat: il ne semble plus capable de savoir quels certains paquetages
> deja installés.
>Une petite idée pour solutionner cette affaire?
Ouaip! j'ai eu ça. Je te copie un mail récapitulant comment j'avais procédé.
Je pourrai pas trop t'aider plus vu que c'est plus très frais dans ma tete.
Bon courage.
**********************************************************
'soir.
Bon, j'ai regardé sur l'URL (en anglais, donc je détaille en français, ça
peut servir pour les non anglophones) que tu m'as indiqué et
http://www.rpm.org/hintskinks/repairdb/ et j'ai trouvé quel première chose à
faire était:
rm -f /var/lib/rpm/__db*
Or, il me semble bien avoir vu __db2 et __db3 dans ce rep. Il n'y est plus.
Pê parce que j'ai tenté (réussi) de désinstaller (partiellement) le paquetage
fautif avec gnorpm (avec quand même un message d'erreur disant que la
database avait un pb). depuis je n'ai plus de segmentation fault quand je
fais rpm -qa, mais j'ai cette ligne:
error: rpmdb: damaged header instance #746 retrieved, skipping.
Il est dit ensuite que tout ce qui a besoin d'être réparé ce trouve dans
/var/lib/rpm/Packages
Je continue donc à suivre les conseils en faisant une sauvegarde de
/var/lib/rpm:
cd /var/lib
tar czvf /tmp/rpmdb.tar.gz rpm
(J'aurai pu faire cp -a /var/lib/rpm /var/lib/rpm-save)
Je me lance ensuite dans une vérification avec:
#cd /var/lib/rpm
#db_verify Packages
db_verify: Overflow item incomplete on page 5354
db_verify: DB->verify: Packages: DB_VERIFY_BAD: Database verification failed
Visiblement, ça foire. Donc, je renomme mon Packages (on n'est jamais trop
prudent, n'est-ce pas?)
#mv Packages Packages-ORIG
Ensuite je fais une manip qui est sensé réparer (je croise les doigts)
# db_dump Packages-ORIG | db_load Packages
Ensuite, on me dit de lire toutes les en-tetes en faisant (Read all the
headers in Packages by doing)
rpm -qa et de vérifier s'il y a un segfault
Visiblement, il n'y en a pas. Un petit rpm -qa | grep seg et un rpm -qa |
grep error me le confirme.
Donc, ça a l'air bon.
A la fin, ils recommande de faire un rpm --rebuilddb
Je le fais (tant que j'y suis j'essaye d'abord la commande de Michel
#cp -a /var/lib/rpm /var/lib/rpm-save)
# rpm --rebuilddb
#rpm -qa --> ça marche
Une petite vérification pour vérifier
diff -r /var/lib/rpm /var/lib/rpm-save/
Binary files /var/lib/rpm/.... /var/lib/rpm-save/... differ
Comme ce sont des binaires, impossible d'avoir le détail, mais visiblement le
rpm --rebuilddb était nécessaire.
A première vue, tout a l'air de fonctionner.
Sinon, la suite est là, mais j'ai pas eu besoin (le temps d'essayer):
http://www.informatimago.com/linux/rpm-rebuilddb
C'est dans le cas où les commandes suivantes ne fonctionnent pas:
# rpm -q -a
failed to open //var/lib/rpm/packages.rpm
rpmQuery: rpmdbOpen() failed
[root@hermes pascal]# rpm --rebuilddb failed to open //var/lib/rpm/packages.rpm
[root@hermes pascal]# rpm --initdb [root@hermes pascal]# rpm -q -a failed to open //var/lib/rpm/packages.rpm
rpmQuery: rpmdbOpen() failed
**********************************************************
--
claude.micouin@free.fr http://astuce.linux.free.frVeuillez ne pas me joindre de textes aux formats Word ou PowerPoint, mais
plutôt aux formats «html», «pdf», «rtf» ou «txt». Merci.
Cf: http://www.fsf.org/philosophy/no-word-attachments.fr.html
--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>