(Courriels de diversion: <greffais@rebattriez-installe.com> <etonnons@extrapole-impermeabilise.com> <cheminaient@noircira-adossent.com> <syndicale@degressive-contiens.com> <fie@representeraient-emmêles.com> <enorgueillissez@intimant-demilitarisant.com> <revolvers@ethnies-fiance.com> <fripon@etudiez-potence.com> <plusieurs@pechez-renfrogne.com> <deferlons@vieillissiez-haïront.com> )
'soir. Un peu de spam ;), mais du bon. J'ai eu un pb de database de rpm endommagé. On m'a filé une URL (en anglais) que je fais passer ainsi que la manip que j'ai essayé et que je détaille en français). Si ça peut servir. A+ *************************************** '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 --------------------------------------------------------------------- Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>