[MANDRIVA] pb base de donnée RPM

Résolu
krokro -  
 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]#
"
Configuration: Linux Mandriva
Firefox 2.0.0.13

15 réponses

  1. krokro
     
    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
    0
  2. bob031 Messages postés 8228 Statut Membre 473
     
    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 !
    0
    1. stef
       
      bonjour jai eu le meme probleme mais je ne comprends pas comment reparer lerreur; pourriez vous mexpliquer de nouveau
      *
      0
  3. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  4. krokro
     
    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é ;-)
    0
  5. krokro
     
    Effectivement, ca fonctionne mieux quand on fait les choses dans l'ordre.

    j'ai reussi a installer tellico ...

    merci bequcoup
    0
  6. bob031 Messages postés 8228 Statut Membre 473
     
    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 ?

    :-))
    0
  7. krokro
     
    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]#
    0
  8. bob031 Messages postés 8228 Statut Membre 473
     
    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.

    :-))
    0
  9. krokro
     
    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?
    0
  10. krokro
     
    [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
    0
  11. bob031 Messages postés 8228 Statut Membre 473
     
    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.
    0
  12. krokro
     
    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
    0
  13. bob031 Messages postés 8228 Statut Membre 473
     
    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.
    0
  14. bob031 Messages postés 8228 Statut Membre 473
     
    bonjour,

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