[MANDRIVA] pb base de donnée RPM [Résolu/Fermé]

Signaler
-
 stef -
Bonjour,

voici le message que j'obtiens en voulant installer telllico..
pouvez vous m'orienter pour solutionner le problème
"
[b17@localhost ~]$ su
Mot de passe :
[root@localhost b17]# urpmi tellico
rpmdb: PANIC: fatal region error detected; run recovery
erreur: erreur db4(-30974) de dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
erreur: ne peut ouvrir l'index Packages en utilisant db3 - (-30974)
erreur: impossible d'ouvrir la base de données Package dans /var/lib/rpm
impossible d'ouvrir la base de donnée rpm
[root@localhost b17]# drakconf
[root@localhost b17]# rpmdb: PANIC: fatal region error detected; run recovery
erreur: erreur db4(-30974) de dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
erreur: ne peut ouvrir l'index Packages en utilisant db3 - (-30974)
erreur: impossible d'ouvrir la base de données Package dans /var/lib/rpm
Couldn't open RPM DB at /usr/lib/perl5/vendor_perl/5.8.8/Rpmdrake/pkg.pm line 157.

[root@localhost b17]#
"

15 réponses

Messages postés
8214
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
1 septembre 2014
462
bonjour,

comme il m'est arrivé la même mésaventure, je te renvoie à ceci :
http://www.commentcamarche.net/forum/affich 6457056 mandriva passage 2007 1 a 2008 1#dernier

:-))
je t'avouerai que je n'ai pas compris tout ce que j'ai fait....mais apparament cela n'a rien changé, du coup je mets l'ensemble de ce qu'il y a dans la console.

merci pour l'aide.

[b17@localhost ~]$ su
Mot de passe :
[root@localhost b17]# urpmi tellico
rpmdb: PANIC: fatal region error detected; run recovery
erreur: erreur db4(-30974) de dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
erreur: ne peut ouvrir l'index Packages en utilisant db3 - (-30974)
erreur: impossible d'ouvrir la base de données Package dans /var/lib/rpm
impossible d'ouvrir la base de donnée rpm
[root@localhost b17]# drakconf
[root@localhost b17]# rpmdb: PANIC: fatal region error detected; run recovery
erreur: erreur db4(-30974) de dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
erreur: ne peut ouvrir l'index Packages en utilisant db3 - (-30974)
erreur: impossible d'ouvrir la base de données Package dans /var/lib/rpm
Couldn't open RPM DB at /usr/lib/perl5/vendor_perl/5.8.8/Rpmdrake/pkg.pm line 157.

[root@localhost b17]#
[root@localhost b17]# rm -f /var/lib/rpm/__db.00
[root@localhost b17]# urpmi tellico
rpmdb: PANIC: fatal region error detected; run recovery
erreur: erreur db4(-30974) de dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
erreur: ne peut ouvrir l'index Packages en utilisant db3 - (-30974)
erreur: impossible d'ouvrir la base de données Package dans /var/lib/rpm
impossible d'ouvrir la base de donnée rpm
[root@localhost b17]# rpm -vv --rebuilddb
D: reconstruction de la base de données de /var/lib/rpm en /var/lib/rpmrebuilddb.7513
D: création du répertoire /var/lib/rpmrebuilddb.7513
D: ouverture d'une vieille base de données avec dbapi 3
D: ouverture db environnement /var/lib/rpm/Packages mpool:joinenv
rpmdb: PANIC: fatal region error detected; run recovery
erreur: erreur db4(-30974) de dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
D: ouverture index db /var/lib/rpm/Packages rdonly mode=0x0
erreur: ne peut ouvrir l'index Packages en utilisant db3 - (-30974)
D: destruction du répertoire /var/lib/rpmrebuilddb.7513
Messages postés
8214
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
1 septembre 2014
462
ok !

A)
peux-tu copier-coller ici le résultat de la commande suivante :
cat /varlib/rpm/



B) je te recolle ici la manip (il faut suivre scrupuleusement toutes les étapes dans l'ordre)

B1) on fait une copie, au cas ou, du dossier /var/lib/rpm

# cd /var/lib
# tar czvf /tmp/rpmdb.tar.gz rpm



B2) on vérifie l'intégrité :

# cd /var/lib/rpm
# /usr/lib/rpm/rpmdb_verify Packages

s'il n'y a pas d'erreur on répare :

B3) réparation
# mv Packages Packages-ORIG
# /usr/lib/rpm/rpmdb_dump Packages-ORIG | /usr/lib/rpm/rpmdb_load Packages


B4) ensuite on lit les headers dans Packages en faisant :
# rpm -qa

s'il n'y a pas de segfault on reconstruit les indices :

B5) reconstruction des indices
# rpm -vv --rebuilddb

attention cette dernière commande risque d'être très longue (allez prendre un café par exemple ..)


ensuite cela devrait fonctionner à nouveau !
bonjour jai eu le meme probleme mais je ne comprends pas comment reparer lerreur; pourriez vous mexpliquer de nouveau
*
voici ce que cela donne:

[root@localhost rpm]# cat /varlib/rpm/
cat: /varlib/rpm/: Aucun fichier ou répertoire de ce type

je viens de faire les autres étapes, je te dis si cela a fonctionné,

merci pour l'aide

PS: bonne idée le café ;-)
Effectivement, ca fonctionne mieux quand on fait les choses dans l'ordre.

j'ai reussi a installer tellico ...

merci bequcoup
Messages postés
8214
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
1 septembre 2014
462
de rien !

[root@localhost rpm]# cat /varlib/rpm/
cat: /varlib/rpm/: Aucun fichier ou répertoire de ce type


désolé c'est la commande ls -l /var/lib/rpm/

peux-tu copier-coller le résultat quand même ?

:-))
la:
[root@localhost rpm]# ls -l /var/lib/rpm/
total 58904
drwxr-xr-x 2 root root 4096 mai 19 19:16 alternatives/
-rw-r--r-- 1 root root 5091328 mai 20 18:59 Basenames
-rw-r--r-- 1 root root 24576 mai 19 19:46 Conflictname
-rw-r--r-- 1 root root 0 mai 20 18:58 __db.000
-rw-r--r-- 1 root root 24576 mai 20 18:54 __db.001
-rw-r--r-- 1 root root 139264 mai 20 18:54 __db.002
-rw-r--r-- 1 root root 663552 mai 20 18:54 __db.003
-rw-r--r-- 1 root root 970752 mai 20 18:59 Dirnames
-rw-r--r-- 1 root root 5263360 mai 20 18:59 Filedigests
-rw-r--r-- 1 root root 28672 mai 20 18:59 Group
-rw-r--r-- 1 root root 24576 mai 20 18:59 Installtid
-rw-r--r-- 1 root root 40960 mai 20 18:59 Name
-rw-r--r-- 1 rpm rpm 24473600 mai 20 18:59 Packages
-rw-r--r-- 1 rpm rpm 25464832 mai 20 18:38 Packages-ORIG
-rw-r--r-- 1 root root 327680 mai 20 18:59 Providename
-rw-r--r-- 1 root root 106496 mai 20 18:59 Provideversion
-rw-r--r-- 1 root root 12288 mai 20 18:38 Pubkeys
-rw-r--r-- 1 root root 335872 mai 20 18:59 Requirename
-rw-r--r-- 1 root root 196608 mai 20 18:59 Requireversion
-rw-r--r-- 1 root root 90112 mai 20 18:59 Sha1header
-rw-r--r-- 1 root root 81920 mai 20 18:59 Sigmd5
-rw-r--r-- 1 root root 12288 mai 20 16:29 Triggername
[root@localhost rpm]#
Messages postés
8214
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
1 septembre 2014
462
ok ! merci !

normalement la commande rm -f /var/lib/rpm/__db* suffit.

les fichiers sont bien là chez toi :
-rw-r--r-- 1 root root 0 mai 20 18:58 __db.000
-rw-r--r-- 1 root root 24576 mai 20 18:54 __db.001
-rw-r--r-- 1 root root 139264 mai 20 18:54 __db.002
-rw-r--r-- 1 root root 663552 mai 20 18:54 __db.003


si virer ces fichiers ne suffit pas, alors tu n'as plus qu'à refaire la manip B.

:-))
la, je suis un peu perdu, car j'ai fait la manip ci dessus a savoir:
ls -l /var/lib/rpm/

puis:

[root@localhost b17]# ls -l /var/lib/rpm/
total 58904
drwxr-xr-x 2 root root 4096 mai 19 19:16 alternatives/
-rw-r--r-- 1 root root 5091328 mai 20 18:59 Basenames
-rw-r--r-- 1 root root 24576 mai 19 19:46 Conflictname
-rw-r--r-- 1 root root 0 mai 20 18:58 __db.000
-rw-r--r-- 1 root root 24576 mai 20 18:54 __db.001
-rw-r--r-- 1 root root 139264 mai 20 18:54 __db.002
-rw-r--r-- 1 root root 663552 mai 20 18:54 __db.003
-rw-r--r-- 1 root root 970752 mai 20 18:59 Dirnames
-rw-r--r-- 1 root root 5263360 mai 20 18:59 Filedigests
-rw-r--r-- 1 root root 28672 mai 20 18:59 Group
-rw-r--r-- 1 root root 24576 mai 20 18:59 Installtid
-rw-r--r-- 1 root root 40960 mai 20 18:59 Name
-rw-r--r-- 1 rpm rpm 24473600 mai 20 18:59 Packages
-rw-r--r-- 1 rpm rpm 25464832 mai 20 18:38 Packages-ORIG
-rw-r--r-- 1 root root 327680 mai 20 18:59 Providename
-rw-r--r-- 1 root root 106496 mai 20 18:59 Provideversion
-rw-r--r-- 1 root root 12288 mai 20 18:38 Pubkeys
-rw-r--r-- 1 root root 335872 mai 20 18:59 Requirename
-rw-r--r-- 1 root root 196608 mai 20 18:59 Requireversion
-rw-r--r-- 1 root root 90112 mai 20 18:59 Sha1header
-rw-r--r-- 1 root root 81920 mai 20 18:59 Sigmd5
-rw-r--r-- 1 root root 12288 mai 20 16:29 Triggername
je vais refaire la manipulation B mais, je ne vois pas pourquoi il faut enlever ces bases de donnée. C'est parce qu'elles rentrent en conflit?
[root@localhost b17]# cd /var/lib
[root@localhost lib]# tar czvf /tmp/rpmdb.tar.gz rpm
rpm/
rpm/__db.000
rpm/Triggername
rpm/Provideversion
rpm/Packages-ORIG
rpm/Group
rpm/__db.002
rpm/__db.003
rpm/Requirename
rpm/Conflictname
rpm/Basenames
rpm/Sha1header
rpm/__db.001
rpm/Installtid
rpm/Name
rpm/Dirnames
rpm/Requireversion
rpm/alternatives/
rpm/alternatives/icewm
rpm/alternatives/icewmhint
rpm/alternatives/ssh-askpass
rpm/alternatives/man-modinfo
rpm/alternatives/rmmod
rpm/alternatives/depmod
rpm/alternatives/mkhybrid
rpm/alternatives/camera.kde.dynamic
rpm/alternatives/uvi
rpm/alternatives/gl_conf
rpm/alternatives/camera.gnome.dynamic
rpm/alternatives/man-depmod
rpm/alternatives/modprobe
rpm/alternatives/man-modprobe
rpm/alternatives/modinfo
rpm/alternatives/lsmod
rpm/alternatives/ooffice
rpm/alternatives/lpc
rpm/alternatives/vim
rpm/alternatives/gconftool
rpm/alternatives/bluepin
rpm/alternatives/lpr
rpm/alternatives/man-rmmod
rpm/alternatives/icewm-session
rpm/alternatives/insmod
rpm/alternatives/ex
rpm/alternatives/vi
rpm/alternatives/man-insmod
rpm/alternatives/cpp
rpm/alternatives/readcd
rpm/alternatives/cdrecord
rpm/alternatives/tvtuner.gnome.dynamic
rpm/alternatives/tvtuner.kde.dynamic
rpm/alternatives/view
rpm/alternatives/lprm
rpm/alternatives/bssh-askpass
rpm/alternatives/icewmbg
rpm/alternatives/lpq
rpm/alternatives/xvt
rpm/alternatives/rvi
rpm/alternatives/gs
rpm/alternatives/dvbtune
rpm/alternatives/mkisofs
rpm/alternatives/man-lsmod
rpm/alternatives/icesh
rpm/alternatives/rview
rpm/alternatives/rvim
rpm/alternatives/pinentry
rpm/Pubkeys
rpm/Packages
rpm/Sigmd5
rpm/Filedigests
rpm/Providename
[root@localhost lib]# cd /var/lib/rpm
[root@localhost rpm]# /usr/lib/rpm/rpmdb_verify Packages
[root@localhost rpm]# mv Packages Packages-ORIG
mv: écraser `Packages-ORIG'?y
[root@localhost rpm]# /usr/lib/rpm/rpmdb_dump Packages-ORIG | /usr/lib/rpm/rpmdb_load Packages rpm -qa
/usr/lib/rpm/rpmdb_load: invalid option -- q
usage: rpmdb_load [-nTV] [-c name=value] [-f file]
[-h home] [-P password] [-t btree | hash | recno | queue] db_file
usage: rpmdb_load -r lsn | fileid [-h home] [-P password] db_file
[root@localhost rpm]# rpm -qa
[root@localhost rpm]# rpm -vv --rebuilddb
D: reconstruction de la base de données de /var/lib/rpm en /var/lib/rpmrebuilddb.8362
D: création du répertoire /var/lib/rpmrebuilddb.8362
D: ouverture d'une vieille base de données avec dbapi 3
D: ouverture db environnement /var/lib/rpm/Packages mpool:joinenv
D: ouverture index db /var/lib/rpm/Packages rdonly mode=0x0
D: verrouillage index db /var/lib/rpm/Packages
D: ouverture d'une nouvelle base de données avec dbapi 3
D: ouverture db environnement /var/lib/rpmrebuilddb.8362/Packages create:mpool:joinenv
D: ouverture index db /var/lib/rpmrebuilddb.8362/Packages create mode=0x42
D: fermeture index db /var/lib/rpm/Packages
D: fermeture db environnement /var/lib/rpm/Packages
D: fermeture index db /var/lib/rpmrebuilddb.8362/Packages
D: fermeture db environnement /var/lib/rpmrebuilddb.8362/Packages
D: vérif. db index /var/lib/rpmrebuilddb.8362/Packages
D: destruction du répertoire
Messages postés
8214
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
1 septembre 2014
462
pourquoi tu recommences la manip B ????

de plus, dans ton dernier message, tu n'as pas tapé exactement les commandes qu'il faut !
tu dois revoir post<4> en suivant scrupuleusement les étapes et les commandes !

bon courage.
je retente l'operation et voila ce que cela donne, est ce normal? :
rpmdb_load: configured environment flags incompatible with existing environment
[root@localhost rpm]# mv Packages Packages-ORIG
mv: écraser `Packages-ORIG'?y
[root@localhost rpm]# /usr/lib/rpm/rpmdb_dump Packages-ORIG | /usr/lib/rpm/rpmdb_load Packages
Messages postés
8214
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
1 septembre 2014
462
rpmdb_load: configured environment flags incompatible with existing environment
ça ce n'est pas normal ! il faudrait que tu indiques exactement la commande tapée !

peux-tu redonner le résultat de la commande : ls -l /var/lib/rpm

merci.
Messages postés
8214
Date d'inscription
samedi 7 août 2004
Statut
Membre
Dernière intervention
1 septembre 2014
462
bonjour,

j'ai trouvé une procédure plus explicite :
RPM DB Problems
http://www.ale.org/archive/ale/ale-2002-03/msg00063.html