Le Dimanche 20 Juillet 2003 19:34, zorkos a �crit :

> En fait qd je lance rpm en tant que root il se bloque sur certaines
> commandes, par exemple :
> rpm -qa ===> bloque
> rpm -e rpmdrake ====> bloque
J'ai eu une ou deux le rpm -qa qui se bloquait. Au bout d'un moment, j'avais 
cette commande qui marchait sous utilisateur, mais pas sous root. J'avais 
aussi le message d'erreur "Segmentation fault".
J'ai r�ussi � me d�patouiller de cette salet� (voir plus bas). C'est arriv� � 
un des mes parents et vu qu'il n'habite pas � cot�, je n'ai pas pu le 
d�panner. Je suis all� chez lui r�cemment, �a remarchait (va savoir pourquoi).

Pour te d�panner, regarde dans le r�pertoire /var/lib/rpm/ s'il y a des 
fichiers de ce type __db* (moi, j'avais:
__deb001 et__deb002)
S'il y en a, tu les supprimes et �a devrait aller. Sinon, regarde la suite 
des �v�nements plus bas. (et en cas de besoi, tu fais signe)
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
     [EMAIL PROTECTED] pascal]# rpm --rebuilddb
     failed to open //var/lib/rpm/packages.rpm

     [EMAIL PROTECTED] pascal]# rpm --initdb
     [EMAIL PROTECTED] pascal]# rpm -q -a
     failed to open //var/lib/rpm/packages.rpm

     rpmQuery: rpmdbOpen() failed

********************************************************


-- 
[EMAIL PROTECTED]                       http://astuce.linux.free.fr
Veuillez 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

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

Foire Aux Questions de la liste : http://mdk.mondelinux.org

Répondre à