Error rpmdb damaged header

A community for developers, software engineers and IT professionals that want to take their knowledge to the next level.

Today I tried to update all packages with sudo dnf --refresh upgrade command in my Fedora 35 desktop. During the package update, I encountered with this issue – error: rpmdb: damaged header #5904 retrieved — skipping.

I kept getting this error a lot. I couldn’t update the Fedora system. After a couple web searches, I found that the RPM database is corrupted for some reason.

If you ever stuck into a situation like mine, you can easily solve the “rpmdb damaged header” error by rebuilding the RPM database as shown in the following steps.

Fix error: rpmdb: damaged header in Fedora

Backup corrupted RPM database, just in case:

$ mv /var/lib/rpm/__db* /var/lib/rpm/old/

Next, delete the RPM database using command:

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

Next, reset the SELinux security context for /var/lib/rpm/ directory to its default values using restorecon command:

$ sudo restorecon -Rv /var/lib/rpm

Finally, rebuild the RPM database to fix rpmdb damaged header error in Fedora, RHEL and its clones like CentOS, AlmaLinux and Rocky Linux:

$ sudo rpmdb --rebuilddb
Solve error rpmdb damaged header in Fedora
Solve error rpmdb damaged header in Fedora

You will not see any output in the terminal. If you want to see what’s going on in the background, use -v flag.

$ sudo rpmdb --rebuilddb -v

And then update/upgrade Fedora system as usual.

$ sudo dnf update --refresh

Now, I can able to update the system without any issues.

Copr repo for fedy owned by kwizart 921  B/s | 3.3 kB 00:03 Copr repo for Signal-Desktop owned by luminoso  8.7 kB/s | 3.3 kB 00:00 Copr repo for PyCharm owned by phracek 567  B/s | 3.3 kB 00:05 Fedora 35 - x86_64 5.1 kB/s | 5.3 kB 00:01 Fedora 35 openh264 (From Cisco) - x86_64 2.0 kB/s | 989  B 00:00 Fedora Modular 35 - x86_64 17 kB/s | 5.2 kB 00:00 Fedora 35 - x86_64 - Updates 13 kB/s | 4.4 kB 00:00 Fedora 35 - x86_64 - Updates 210 kB/s | 1.7 MB 00:08 Fedora Modular 35 - x86_64 - Updates 26 kB/s | 6.6 kB 00:00 google-chrome 4.8 kB/s | 1.3 kB 00:00 RPM Fusion for Fedora 35 - Free 4.4 kB/s | 6.2 kB 00:01 RPM Fusion for Fedora 35 - Free - Updates 6.2 kB/s | 5.8 kB 00:00 RPM Fusion for Fedora 35 - Nonfree 7.1 kB/s | 6.7 kB 00:00 RPM Fusion for Fedora 35 - Nonfree - NVIDIA Dri 6.8 kB/s | 6.4 kB 00:00 RPM Fusion for Fedora 35 - Nonfree - Steam 6.5 kB/s | 6.1 kB 00:00 RPM Fusion for Fedora 35 - Nonfree - Updates 6.6 kB/s | 6.2 kB 00:00 Dependencies resolved.
================================================================================
 Package Arch Version Repository Size
================================================================================
Upgrading:
 cmake-filesystem x86_64 3.22.0-4.fc35 updates 18 k
 cpp x86_64 11.2.1-7.fc35 updates 10 M
 gcc x86_64 11.2.1-7.fc35 updates 31 M
 gcc-gdb-plugin x86_64 11.2.1-7.fc35 updates 147 k
 glibc x86_64 2.34-10.fc35 updates 2.0 M
[...]
 python3-pikepdf x86_64 4.1.0-1.fc35 updates 500 k
 virt-viewer x86_64 11.0-1.fc35 updates 324 k
 xxhash-libs x86_64 0.8.1-1.fc35 updates 40 k
 zram-generator x86_64 1.1.1-3.fc35 updates 397 k
 zram-generator-defaults noarch 1.1.1-3.fc35 updates 9.6 k Transaction Summary
================================================================================
Upgrade  49 Packages Total download size: 134 M
Is this ok [y/N]: y

Hope this helps.

Thanks @FlorianLudwig for the quick response.

We are building large images so bear with me, because the error only shows up after a couple of base images are built, even when dnf-plugin-ovl is installed early in the process.

The following script produces the error:

#!/bin/bash
set -euo pipefail
export build_no_touch_rpmdb=1
export build_image_base=radiasoft/beamsim:20190521.170321
docker pull radiasoft/beamsim:20190521.170321 | cat
[[ -d sirepo ]] || git clone -q https://github.com/radiasoft/sirepo
cd sirepo
curl https://depot.radiasoft.org/index.sh | bash -s container-build

It will not produce the error if you disable build_no_touch_rpmdb with:

export build_no_touch_rpmdb=

This (default mode) triggers touch of /var/lib/rpm/*.

radiasoft/beamsim:20190521.170321 contains:

$ docker run --rm radiasoft/beamsim:20190521.170321 rpm -q dnf-plugin-ovl
dnf-plugin-ovl-0.0.2-1.20181107gitfd1a5a5.fc29.noarch

And, radiasoft/beamsim builds without the error, even though the same code runs for the dnf clean. Not sure what’s triggering the error in the sirepo build, but I tested it multiple times to sure it was reproducible.

The script can be run on VirtualBox centos/7 with these params in /etc/docker/daemon.json:

{
    "storage-driver": "overlay2",
    "storage-opts": [
        "overlay2.override_kernel_check=true"
    ]
}

We have curl installers for CentOS 7 so if you want to get a copy of our VM with Docker setup (works on Mac and Linux):

curl https://depot.radiasoft.org/index.sh | bash -s vagrant-dev centos/7
vagrant ssh -c 'radia_run redhat-docker'
vagrant reload
vagrant ssh -c 'radia_run redhat-docker'

The images are large and take a tens of minutes to build:

$ docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
d/sirepo                20190524.144425     fa3b2dcda727        14 minutes ago      9.94GB
d/sirepo                alpha               fa3b2dcda727        14 minutes ago      9.94GB
d/sirepo                dev                 fa3b2dcda727        14 minutes ago      9.94GB
d/sirepo                latest              fa3b2dcda727        14 minutes ago      9.94GB
radiasoft/beamsim       20190521.170321     4a4a024db504        2 days ago          5.42GB

Всем привет!

# apt-get update
Получено: 1 ftp://ftp.firma.zn p8/branch/x86_64 release [880B]
Получено: 2 ftp://ftp.firma.zn p8/branch/x86_64-i586 release [537B]
Получено: 3 ftp://ftp.firma.zn p8/branch/noarch release [673B]
Получено 2090B за 0s (14,9kB/s).             
Получено: 1 ftp://ftp.firma.zn p8/branch/x86_64/classic pkglist [20,5MB]
Получено: 2 ftp://ftp.firma.zn p8/branch/x86_64/classic release [135B]
Получено: 3 ftp://ftp.firma.zn p8/branch/x86_64-i586/classic pkglist [15,4MB]
Получено: 4 ftp://ftp.firma.zn p8/branch/x86_64-i586/classic release [140B]
Получено: 5 ftp://ftp.firma.zn p8/branch/noarch/classic pkglist [5090kB]
Получено: 6 ftp://ftp.firma.zn p8/branch/noarch/classic release [135B]
Получено 41,0MB за 5s (7084kB/s).               
error: rpmdb: damaged header instance #2029 retrieved, skipping.
error: rpmdb: damaged header instance #2045 retrieved, skipping.
error: rpmdb: damaged header instance #2042 retrieved, skipping.
error: rpmdb: damaged header instance #2039 retrieved, skipping.
error: rpmdb: damaged header instance #2049 retrieved, skipping.
error: rpmdb: damaged header instance #2036 retrieved, skipping.
error: rpmdb: damaged header instance #2052 retrieved, skipping.
error: rpmdb: damaged header instance #2033 retrieved, skipping.
error: rpmdb: damaged header instance #2041 retrieved, skipping.
error: rpmdb: damaged header instance #2030 retrieved, skipping.
error: rpmdb: damaged header instance #2038 retrieved, skipping.
error: rpmdb: damaged header instance #2046 retrieved, skipping.
error: rpmdb: damaged header instance #2050 retrieved, skipping.
error: rpmdb: damaged header instance #2035 retrieved, skipping.
error: rpmdb: damaged header instance #2043 retrieved, skipping.
error: rpmdb: damaged header instance #2053 retrieved, skipping.
error: rpmdb: damaged header instance #2032 retrieved, skipping.
error: rpmdb: damaged header instance #2040 retrieved, skipping.
error: rpmdb: damaged header instance #2048 retrieved, skipping.
error: rpmdb: damaged header instance #2037 retrieved, skipping.
error: rpmdb: damaged header instance #2051 retrieved, skipping.
error: rpmdb: damaged header instance #2034 retrieved, skipping.
error: rpmdb: damaged header instance #2031 retrieved, skipping.
error: rpmdb: damaged header instance #2047 retrieved, skipping.
error: rpmdb: damaged header instance #2028 retrieved, skipping.
error: rpmdb: damaged header instance #2044 retrieved, skipping.
error: rpmdb: damaged header instance #2029 retrieved, skipping.
error: rpmdb: damaged header instance #2045 retrieved, skipping.
error: rpmdb: damaged header instance #2042 retrieved, skipping.
error: rpmdb: damaged header instance #2039 retrieved, skipping.
error: rpmdb: damaged header instance #2049 retrieved, skipping.
error: rpmdb: damaged header instance #2036 retrieved, skipping.
error: rpmdb: damaged header instance #2052 retrieved, skipping.
error: rpmdb: damaged header instance #2033 retrieved, skipping.
error: rpmdb: damaged header instance #2041 retrieved, skipping.
error: rpmdb: damaged header instance #2030 retrieved, skipping.
error: rpmdb: damaged header instance #2038 retrieved, skipping.
error: rpmdb: damaged header instance #2046 retrieved, skipping.
error: rpmdb: damaged header instance #2050 retrieved, skipping.
error: rpmdb: damaged header instance #2035 retrieved, skipping.
error: rpmdb: damaged header instance #2043 retrieved, skipping.
error: rpmdb: damaged header instance #2053 retrieved, skipping.
error: rpmdb: damaged header instance #2032 retrieved, skipping.
error: rpmdb: damaged header instance #2040 retrieved, skipping.
error: rpmdb: damaged header instance #2048 retrieved, skipping.
error: rpmdb: damaged header instance #2037 retrieved, skipping.
error: rpmdb: damaged header instance #2051 retrieved, skipping.
error: rpmdb: damaged header instance #2034 retrieved, skipping.
error: rpmdb: damaged header instance #2031 retrieved, skipping.
error: rpmdb: damaged header instance #2047 retrieved, skipping.
error: rpmdb: damaged header instance #2028 retrieved, skipping.
error: rpmdb: damaged header instance #2044 retrieved, skipping.
error: rpmdb: damaged header instance #2029 retrieved, skipping.
error: rpmdb: damaged header instance #2045 retrieved, skipping.
error: rpmdb: damaged header instance #2042 retrieved, skipping.
error: rpmdb: damaged header instance #2039 retrieved, skipping.
error: rpmdb: damaged header instance #2049 retrieved, skipping.
error: rpmdb: damaged header instance #2036 retrieved, skipping.
error: rpmdb: damaged header instance #2052 retrieved, skipping.
error: rpmdb: damaged header instance #2033 retrieved, skipping.
error: rpmdb: damaged header instance #2041 retrieved, skipping.
error: rpmdb: damaged header instance #2030 retrieved, skipping.
error: rpmdb: damaged header instance #2038 retrieved, skipping.
error: rpmdb: damaged header instance #2046 retrieved, skipping.
error: rpmdb: damaged header instance #2050 retrieved, skipping.
error: rpmdb: damaged header instance #2035 retrieved, skipping.
error: rpmdb: damaged header instance #2043 retrieved, skipping.
error: rpmdb: damaged header instance #2053 retrieved, skipping.
error: rpmdb: damaged header instance #2032 retrieved, skipping.
error: rpmdb: damaged header instance #2040 retrieved, skipping.
error: rpmdb: damaged header instance #2048 retrieved, skipping.
error: rpmdb: damaged header instance #2037 retrieved, skipping.
error: rpmdb: damaged header instance #2051 retrieved, skipping.
error: rpmdb: damaged header instance #2034 retrieved, skipping.
error: rpmdb: damaged header instance #2031 retrieved, skipping.
error: rpmdb: damaged header instance #2047 retrieved, skipping.
error: rpmdb: damaged header instance #2028 retrieved, skipping.
error: rpmdb: damaged header instance #2044 retrieved, skipping.
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
W: В Вашей системе установлено несколько версий пакета "libobasis6.1-core".

Этот пакет не может быть обновлён обычным путём до тех пор, пока Вы не
оставите только одну его версию. Чтобы оставить установленными несколько версий,
и
W: Возможно, Вам потребуется запустить `apt-get update' для исправления.

# rpm --rebuildb -vv
...
D: добавляется "7bc533d411bcc606a3f4c3ef6d24481a398b1ba3" в индекс Sha1header.
D:   +++       1266 vlc-plugin-ogg-2.2.6.20170917-alt1.M80P.1
D: добавляется "vlc-plugin-ogg" в индекс Name.
D: добавляется 4 записей в индекс Basenames
D: добавляется "Видео" в индекс Group.
D: добавляется 7 записей в индекс Requirename
D: добавляется "vlc-plugin-ogg" в индекс Providename.
D: добавляется 3 записей в индекс Dirnames
D: добавляется 1 записей в индекс Installtid
D: добавляется 1 записей в индекс Sigmd5
D: добавляется "268a4f09c911aa5294705bf9ba96d4491c4ba52b" в индекс Sha1header.
*** Error in `/usr/lib/rpm/rpmd': double free or corruption (!prev): 0x00000000025054a0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x6f325)[0x7fab7262f325]
/lib64/libc.so.6(+0x74ae6)[0x7fab72634ae6]
/lib64/libc.so.6(+0x752ce)[0x7fab726352ce]
/usr/lib64/librpmdb-4.0.4.so(+0xca47)[0x7fab72b7ca47]
/usr/lib64/librpmdb-4.0.4.so(+0xcdee)[0x7fab72b7cdee]
/usr/lib64/librpmdb-4.0.4.so(+0x12a73)[0x7fab72b82a73]
/usr/lib64/librpmdb-4.0.4.so(rpmdbAdd+0x329)[0x7fab72b86059]
/usr/lib64/librpmdb-4.0.4.so(rpmdbRebuild+0x4ea)[0x7fab72b8725a]
/usr/lib/rpm/rpmd[0x401d6c]
/lib64/libc.so.6(__libc_start_main+0xf0)[0x7fab725e07f0]
/usr/lib/rpm/rpmd[0x401f59]
======= Memory map: ========
00400000-00403000 r-xp 00000000 08:02 525025                             /usr/lib/rpm/rpmd
00602000-00603000 r--p 00002000 08:02 525025                             /usr/lib/rpm/rpmdАварийный останов

Как исправить ?

Понравилась статья? Поделить с друзьями:
  • Error rpc error code unauthenticated desc oauth token is invalid or expired
  • Error rpc error code permissiondenied desc you are not authorized for this operation
  • Error rp13 chess com
  • Error router requires newer winbox please upgrade что делать
  • Error round was not declared in this scope