Le Mardi 24 D�cembre 2002 06:38, PhilX a �crit : > Suite de mes probl�mes avec RPM, depuis l'upgrade mdk9.0 (qu'allais-je > faire dans cette gal�re:-) j'ai sans arret cette erreur de RPM, � chaque > install : > > rpmdb: Item 156, page 27 has bad type > error: db4 error(-30979) from db->verify: DB_VERIFY_BAD: Database > verification failed Vouaive, j'ai eu un truc comme �a une fois. Si j'ai bien compris, la data base des rpm a d�rouill�. J'ai eu des infos en anglais ici: http://www.rpm.org/hintskinks/repairdb/ et ici
et vraiment en d�sespoir de cause: http://www.informatimago.com/linux/rpm-rebuilddb Je te donne la marche � suivre: Sous root, commence par faire une sauvegarde cp -a /var/lib/rpm /var/lib/rpm-sauvegarde (on n'est jamais trop prudent). Ensuite, si tout se passe bien, tu supprimeras /var/lib/rpm-sauvegarde V�rifie ensuite s'il n'y pas des fichiers de type __db2 et __db3 dans /var/lib/rpm/ Si oui, tu les vires � la main ou avec un rm -f /var/lib/rpm/__db* et tu r�essayes. Ensuite, tentes de reconstruire la base rpm avec rpm --rebuilddb et tu r�essayes. Puis, v�rifie la database avec: cd /var/lib/rpm db_verify Packages Il se peut que le programme db_verify ne soit pas install� (installe-le) S'il y a des messages d'erreur, on continue! Renomme to, Packages (on n'est jamais trop prudent, n'est-ce pas?) #mv Packages Packages-ORIG Ensuite fais une manip qui est sens� r�parer (croise les doigts) # db_dump Packages-ORIG | db_load Packages Ensuite, lit toutes les en-tetes en faisant (Read all the headers in Packages by doing) rpm -qa et v�rifie s'il y a un "segfault" Un petit rpm -qa | grep seg et un rpm -qa | grep error te le confirmera. A la fin, on recommande de faire un rpm --rebuilddb Bon courage! Je te fais passer une copie du mail que j'avais �crit � cette occasion si tu veux en savoir plus. (il te faudra trier) *********************************************** '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. Un grand merci (un de plus) Michel et � la prochaine :) PS: 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 ********************************************* -- [EMAIL PROTECTED] http://astuce.linux.free.fr
Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft? Rendez-vous sur "http://www.mandrakestore.com"
