Rpm error cannot open packages database in var lib rpm

I'm trying to run yum update and I'm running this error: rpmdb: PANIC: fatal region error detected; run recovery error: db3 error(-30974) from dbenv->open: DB_RUNRECOVERY: Fatal error, run data...

I’m trying to run yum update and I’m running this error:

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

I checked page like this one but running yum clean all runs the same error.

How can I solve this?

asked Apr 25, 2015 at 15:40

Alex Jolig's user avatar

1

This is how I fixed my problem.

You may fix this by cleaning out rpm database. But first, in order to minimize the risk, make sure you create a backup of files in /var/lib/rpm/ using cp command:

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

The try this to fix this problem:

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

And finally verify that error has gone with the following yum command

# yum update

answered Apr 25, 2015 at 15:40

Alex Jolig's user avatar

Alex JoligAlex Jolig

2,2193 gold badges14 silver badges19 bronze badges

7

All I had to do was to delete the two file with the «.lock» extension, and the three files that started with «__db».

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

After that, yum update worked.

answered Jan 17, 2019 at 19:00

isapir's user avatar

isapirisapir

3983 silver badges11 bronze badges

Thanks Alex, your answer worked for me apart from one slight change I had to make.

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

returned errors

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

so I had to recurse with

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

answered Jun 6, 2015 at 20:18

Ian Ellis's user avatar

1

I tried the above one it did’nt work

below works fine

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

Note: This tar backup can be used if the attempt to recover the RPM database has issues.

Verify integrity of the Packages file:

# 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

Once again verify RPM database:

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

answered Apr 16, 2018 at 7:30

AReddy's user avatar

AReddyAReddy

3,0545 gold badges34 silver badges70 bronze badges

2

I’m trying to run yum update and I’m running this error:

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

I checked page like this one but running yum clean all runs the same error.

How can I solve this?

asked Apr 25, 2015 at 15:40

Alex Jolig's user avatar

1

This is how I fixed my problem.

You may fix this by cleaning out rpm database. But first, in order to minimize the risk, make sure you create a backup of files in /var/lib/rpm/ using cp command:

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

The try this to fix this problem:

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

And finally verify that error has gone with the following yum command

# yum update

answered Apr 25, 2015 at 15:40

Alex Jolig's user avatar

Alex JoligAlex Jolig

2,2193 gold badges14 silver badges19 bronze badges

7

All I had to do was to delete the two file with the «.lock» extension, and the three files that started with «__db».

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

After that, yum update worked.

answered Jan 17, 2019 at 19:00

isapir's user avatar

isapirisapir

3983 silver badges11 bronze badges

Thanks Alex, your answer worked for me apart from one slight change I had to make.

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

returned errors

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

so I had to recurse with

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

answered Jun 6, 2015 at 20:18

Ian Ellis's user avatar

1

I tried the above one it did’nt work

below works fine

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

Note: This tar backup can be used if the attempt to recover the RPM database has issues.

Verify integrity of the Packages file:

# 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

Once again verify RPM database:

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

answered Apr 16, 2018 at 7:30

AReddy's user avatar

AReddyAReddy

3,0545 gold badges34 silver badges70 bronze badges

2

Как то при обновлении пакетов на сервере получил не очень приятное сообщение

# yum check-update
rpmdb: Thread/process 25837/139766049310464 failed: Thread died in Berkeley DB library
error: db3 error(-30974) from dbenv->failchk: 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

Сперва не понял что это всё означает. Альтернативная проверка дала тот же результат

# rpm -qa
rpmdb: Thread/process 25837/139766049310464 failed: Thread died in Berkeley DB library
error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 -  (-30974)
error: cannot open Packages database in /var/lib/rpm
rpmdb: Thread/process 25837/139766049310464 failed: Thread died in Berkeley DB library
error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages database in /var/lib/rpm

Всё таки не хочет обновляться так как система не может получить список пакетов. Хочет что бы я сделал восстановление базы. Проверяем что в указанном каталоге

# ls -l /var/lib/rpm
total 46592
-rw-r--r--. 1 root root  1548288 Jul 25 13:56 Basenames
-rw-r--r--. 1 root root    12288 Jul 25 13:56 Conflictname
-rw-r--r--  1 root root    73728 Jul 25 14:06 __db.001
-rw-r--r--  1 root root   229376 Jul 25 14:06 __db.002
-rw-r--r--  1 root root  1318912 Jul 25 14:06 __db.003
-rw-r--r--  1 root root   753664 Jul 25 14:00 __db.004
-rw-r--r--. 1 root root   544768 Jul 25 13:56 Dirnames
-rw-r--r--. 1 root root  2609152 Jul 25 13:56 Filedigests
-rw-r--r--. 1 root root    12288 Jul 25 13:56 Group
-rw-r--r--. 1 root root     8192 Jul 25 13:56 Installtid
-rw-r--r--. 1 root root    24576 Jul 25 13:56 Name
-rw-r--r--. 1 root root    12288 Jul 25 13:56 Obsoletename
-rw-r--r--. 1 root root 38973440 Jul 25 13:56 Packages
-rw-r--r--. 1 root root  1339392 Jul 25 13:56 Providename
-rw-r--r--. 1 root root  1036288 Jul 25 13:56 Provideversion
-rw-r--r--. 1 root root    12288 May  5 23:02 Pubkeys
-rw-r--r--. 1 root root   192512 Jul 25 13:56 Requirename
-rw-r--r--. 1 root root    98304 Jul 25 13:56 Requireversion
-rw-r--r--. 1 root root    45056 Jul 25 13:56 Sha1header
-rw-r--r--. 1 root root    24576 Jul 25 13:56 Sigmd5
-rw-r--r--. 1 root root    12288 May  5 22:20 Triggername

Вроде всё на месте. Хорошо, раз требуется восстановление базы то запустим его

# rpm --rebuilddb
rpmdb: Thread/process 25837/139766049310464 failed: Thread died in Berkeley DB library
error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 -  (-30974)

Ага, не тут то было. База сломалась сильнее, ем ожидалось. Тогда просто удалим базу и пересоздадим снова

# rm -f /var/lib/rpm/__*
# rpm --rebuilddb

И проверим

# rpm -qa | grep yum
yum-3.2.29-73.el6.centos.noarch
yum-plugin-fastestmirror-1.1.30-37.el6.noarch
yum-metadata-parser-1.1.2-16.el6.x86_64
# rpm -qa | wc -l
340

Замечательно! База пакетов актуальная и можно выполнять обновление.

Понравилась статья? Поделить с друзьями:
  • Rpg 2000 ошибка
  • Rpcs3 ошибка при запуске приложения 0xc000007b
  • Rpcs3 vulkan 1 dll ошибка
  • Rpcs3 linking ppu modules error
  • Rpcs3 fatal error что делать