'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
-- 
[EMAIL PROTECTED]


Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à