GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment résoudre l'erreur «Erreur:échec de l'ouverture de rpmdb» dans CentOS

Aujourd'hui, je testais le serveur Web Nginx dans une machine virtuelle CentOS 7. Malheureusement, le courant a disparu au milieu du processus de mise à jour. Comme je n'ai pas d'onduleur, mon système hôte est tombé en panne immédiatement. Après quelques minutes, le courant est revenu, j'ai rallumé la machine virtuelle et lancé le processus de mise à niveau. Lorsque j'exécute la commande "yum update", j'ai ce message d'erreur :

error: rpmdb: BDB0113 Thread/process 2196/139984719730496 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 - (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed

Il semble que YUM soit tombé en panne. Je n'ai pas pu exécuter de commande yum. Je n'ai jamais rencontré cette erreur auparavant et je ne savais pas quoi faire. Je me suis donc dirigé vers le forum CentOS dans l'espoir de trouver une solution appropriée pour résoudre ce problème. Après quelques recherches sur le forum, j'ai heureusement trouvé une solution de contournement. Si jamais vous rencontrez ce problème, ne cherchez nulle part et suivez simplement les étapes suivantes.

Sauvegardez d'abord la base de données rpm en utilisant la commande en tant qu'utilisateur root :

# mv /var/lib/rpm/__db* /tmp

Ensuite, exécutez la commande suivante :

# yum clean all

Maintenant, relancez la mise à jour :

# yum update
Loaded plugins: fastestmirror
Cleaning repos: base epel extras updates
Cleaning up everything
Cleaning up list of fastest mirrors
[[email protected] ~]# yum update
Loaded plugins: fastestmirror
base | 3.6 kB 00:00 
epel/x86_64/metalink | 5.0 kB 00:00 
epel | 4.3 kB 00:00 
extras | 3.4 kB 00:00 
updates | 3.4 kB 00:00 
(1/7): base/7/x86_64/group_gz | 155 kB 00:02 
(2/7): epel/x86_64/group_gz | 170 kB 00:04 
(3/7): extras/7/x86_64/primary_db | 191 kB 00:12 
(4/7): epel/x86_64/updateinfo | 809 kB 00:21 
(5/7): base/7/x86_64/primary_db | 5.6 MB 00:26 
(6/7): epel/x86_64/primary_db | 4.8 MB 00:46 
(7/7): updates/7/x86_64/primary_db | 7.8 MB 00:50 
Determining fastest mirrors
 * base: mirror.ehost.vn
 * epel: repo.ugm.ac.id
 * extras: mirror.ehost.vn
 * updates: mirror.dhakacom.com
Resolving Dependencies
--> Running transaction check
---> Package NetworkManager.x86_64 1:1.4.0-19.el7_3 will be updated
---> Package NetworkManager.x86_64 1:1.4.0-20.el7_3 will be an update
---> Package NetworkManager-adsl.x86_64 1:1.4.0-19.el7_3 will be updated
[...]
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package Arch Version Repository Size
================================================================================
Installing:
 kernel x86_64 3.10.0-514.26.2.el7 updates 37 M
 python2-libcomps x86_64 0.1.8-3.el7 epel 46 k
 replacing python-libcomps.x86_64 0.1.6-13.el7
Updating:
 NetworkManager x86_64 1:1.4.0-20.el7_3 updates 2.5 M
 NetworkManager-adsl x86_64 1:1.4.0-20.el7_3 updates 146 k
 NetworkManager-bluetooth x86_64 1:1.4.0-20.el7_3 updates 165 k
 NetworkManager-glib x86_64 1:1.4.0-20.el7_3 updates 385 k
 NetworkManager-libnm x86_64 1:1.4.0-20.el7_3 updates 443 k
 NetworkManager-team x86_64 1:1.4.0-20.el7_3 updates 147 k
 python-perf x86_64 3.10.0-514.26.2.el7 updates 4.0 M
 sudo x86_64 1.8.6p7-23.el7_3 updates 735 k
 systemd x86_64 219-30.el7_3.9 updates 5.2 M
 systemd-libs x86_64 219-30.el7_3.9 updates 369 k
 systemd-sysv x86_64 219-30.el7_3.9 updates 64 k
 tuned noarch 2.7.1-3.el7_3.2 updates 210 k
 xfsprogs x86_64 4.5.0-10.el7_3 updates 895 k
Removing:
 kernel x86_64 3.10.0-123.el7 @anaconda 127 M

Transaction Summary
================================================================================
Install 2 Packages
Upgrade 46 Packages
Remove 1 Package

Total download size: 84 M
Is this ok [y/d/N]: y

Je tape y pour continuer la mise à jour. Voila ! Tout fonctionne comme prévu.

Enfin, j'ai nettoyé la sauvegarde à l'aide de la commande :

# rm -i /tmp/__db*

Et, c'est tout pour le moment. J'espère que cela vous aidera.

Lire connexe :

  • [Résolu] - "erreur :rpmdbNextIterator :ignorer" dans Fedora Linux

Cent OS
  1. Comment supprimer les anciens noyaux inutilisés sur CentOS Linux

  2. Comment résoudre "erreur :échec de la validation de la transaction (fichiers en conflit)" dans Arch Linux

  3. Comment réparer l'erreur "commande semanage" introuvable dans CentOS

  4. Comment ouvrir un port dans CentOS / RHEL 7

  5. Comment configurer IPtables pour ouvrir des ports dans CentOS / RHEL

Comment installer SNORT IDS sur CentOS 7

Comment annuler les correctifs du système d'exploitation sur CentOS 8 / RHEL 8

Comment mettre à jour CentOS 8 / RHEL 8

Comment résoudre une erreur de montage de disque dans Ubuntu

Comment installer Open Web Analytics sur CentOS 7

Comment corriger l'erreur d'échec de rpmdb lors du traitement de la mise à jour de cPanel ?