it-swarm.com.de

yum Fehler: rpmdb open fehlgeschlagen

Ich versuche yum update Auszuführen und führe diesen Fehler aus:

rpmdb: PANIC: fatal region error detected; run recovery
error: db3 error(-30974) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 - (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed

Ich habe die Seite wie diese überprüft, aber beim Ausführen von yum clean all Wird der gleiche Fehler ausgeführt.

Wie kann ich das lösen?

45
Alex Jolig

So habe ich mein Problem behoben.

Dies ist eine ziemlich unordentliche Situation. Sie können dies beheben, indem Sie die RPM-Datenbank bereinigen. Um das Risiko zu minimieren, erstellen Sie eine Sicherungskopie der Dateien in /var/lib/rpm/ using cp Befehl:

mkdir /root/backups.rpm.mm_dd_yyyy/
cp -avr /var/lib/rpm/ /root/backups.rpm.mm_dd_yyyy/

Versuchen Sie Folgendes, um dieses Problem zu beheben:

# rm -f /var/lib/rpm/__db*
# db_verify /var/lib/rpm/Packages
# rpm --rebuilddb
# yum clean all

Stellen Sie sicher, dass der Fehler mit dem folgenden Befehl yum behoben wurde

# yum update
89
Alex Jolig

Ich habe das obige ausprobiert, es hat nicht funktioniert

unten funktioniert gut

# cd /var/lib
# tar -zcvf /var/preserve/rpmdb-$(date +%Y-%m-%d_%H-%M-%S).tar.gz rpm

Hinweis: Diese Tar-Sicherung kann verwendet werden, wenn beim Versuch, die RPM-Datenbank wiederherzustellen, Probleme auftreten.

Überprüfen Sie die Integrität der Paketdatei:

# cd /var/lib/rpm
# rm -f __db*      # to avoid stale locks
# /usr/lib/rpm/rpmdb_verify Packages

# mv Packages Packages.orig
# /usr/lib/rpm/rpmdb_dump Packages.orig | /usr/lib/rpm/rpmdb_load Packages


# rpm -vv --rebuilddb

Überprüfen Sie erneut die RPM-Datenbank:

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

Ich musste lediglich die beiden Dateien mit der Erweiterung ".lock" und die drei Dateien, die mit "__db" begannen, löschen.

# rm /var/lib/rpm/.dbenv.lock
# rm /var/lib/rpm/.rpm.lock
# rm /var/lib/rpm/__db*

Nachdem, yum update hat funktioniert.

0
isapir

Danke Alex, deine Antwort hat für mich funktioniert, abgesehen von einer kleinen Änderung, die ich vornehmen musste.

rm -f /var/lib/rpm/__db*

fehler zurückgegeben

rm: cannot remove `/var/lib/rpm/__db.001': Is a directory
rm: cannot remove `/var/lib/rpm/__db.002': Is a directory
rm: cannot remove `/var/lib/rpm/__db.004': Is a directory

also musste ich mit zurückgreifen

rm -rf /var/lib/rpm/__db*
0
Ian Ellis