Сегодня я попытался обновить все пакеты с помощью команды sudo dnf –refresh upgrade на моем Fedora 35.

Во время обновления пакетов я столкнулся с такой проблемой – error: rpmdb: damaged header #5904 retrieved — skipping.

Я не мог обновить систему Fedora.

После нескольких поисков в Интернете я обнаружил, что база данных RPM по какой-то причине повреждена.

Если вы когда-нибудь столкнетесь с ситуацией, подобной моей, вы можете легко решить проблему ошибки “rpmdb damaged header”, восстановив базу данных RPM, как показано в следующих шагах.

Исправление error: rpmdb: damaged header в системах Fedora

На всякий случай создайте резервную копию поврежденной базы данных RPM:

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

Затем удалите базу данных RPM с помощью команды:

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

Затем сбросьте контекст безопасности SELinux для каталога /var/lib/rpm/ на значения по умолчанию с помощью команды restorecon:

$ sudo restorecon -Rv /var/lib/rpm

Наконец, пересоберите базу данных RPM, чтобы исправить ошибку rpmdb damaged header в Fedora, RHEL и их клонах, таких как CentOS, AlmaLinux и Rocky Linux:

$ sudo rpmdb --rebuilddb
Вы не увидите никакого вывода в терминале.

Если вы хотите увидеть, что происходит в фоновом режиме, используйте флаг -v.

$ sudo rpmdb --rebuilddb -v

А затем обновите систему Fedora как обычно.

Поделитесь статьей:

Добавить комментарий