Поиск по сайту:

[Решено] «ошибка: rpmdbNextIterator: пропуск» в Fedora Linux

На днях я попытался обновить свою настольную систему Fedora 34 с помощью команды sudo dnf --refresh update и столкнулся с этой проблемой: ошибка: rpmdbNextIterator: пропуск h# 3643 Подпись заголовка V4 RSA/SHA256, идентификатор ключа 45719a39: BAD.

sudo dnf --refresh upgrade

Пример вывода:

[...]
Running transaction check
error: rpmdbNextIterator: skipping h#    3643 
Header V4 RSA/SHA256 Signature, key ID 45719a39: BAD
Header SHA256 digest: BAD (Expected cc14b51b22595cfdf9d87d21e6ab8604b62eb6481c4669fe814a9109754f4d54 != 00a7eb336286e45cec1ce6b67c4093fe6059bbe1ec95279f81dc51e2dc97ec89)
Header SHA1 digest: BAD (Expected a5f792ecf06988120d3127a8b272471bf6927fca != 348ab5cbf958d0898e9ac2b69a5306a5fba7dbfd)
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: An rpm exception occurred: package not installed

Ошибка rpmdbNextIterator в Fedora

Это был первый раз, когда я получал такую ошибку, и я не был уверен в причине проблемы.

А также я попробовал несколько разных команд:

sudo dnf update
sudo dnf --refresh update
sudo dnf --refresh dist-upgrade

Каждый раз я получал ту же ошибку, как показано выше.

После нескольких поисков в Интернете я нашел решение этой проблемы на форумах Fedora.

Исправьте «ошибку: rpmdbNextIterator: пропуск» в Fedora.

Чтобы исправить ошибку rpmdbNextIterator, просто перестройте базу данных RPM, выполнив следующую команду:

sudo rpm --rebuilddb

Если вы по-прежнему сталкиваетесь с той же ошибкой, выполните приведенную выше команду еще раз. Вы не увидите никаких результатов, если проблема устранена.

А затем обновите систему Fedora с помощью команды:

sudo dnf --refresh update

Исправьте «ошибку: rpmdbNextIterator: пропуск» в Fedora.

Иногда восстановление базы данных RPM не помогает. В этом случае вы можете сделать резервную копию и перестроить его снова, как показано ниже:

sudo mkdir /var/lib/rpm/old
sudo mv /var/lib/rpm/Pubkeys /var/lib/rpm/old/

Резервное копирование базы данных RPM:

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

Если вы не делаете резервную копию базы данных RPM, просто удалите ее.

sudo rm /var/lib/rpm/__db*

Теперь выполните следующую команду, чтобы восстановить базу данных RPM:

sudo rpm --rebuilddb

Если все пойдет хорошо, вы не получите никакого результата.

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

sudo dnf update --refresh

В некоторых случаях вы увидите ошибку «Отказано в доступе», как показано ниже.

sudo rpmdb --rebuilddb -v
error: could not delete old database at /var/lib/rpmold.161084

Удалите указанную выше базу данных вручную с помощью команды rm:

sudo rm -rf /var/lib/rpmold.rpmold.161084

Затем перестройте базу данных RPM:

sudo rpmdb --rebuilddb -v

Наконец, обновите систему Fedora:

sudo dnf update --refresh

Пример вывода:

Fedora 34 - x86_64                               19 kB/s | 6.4 kB     00:00    
Fedora 34 openh264 (From Cisco) - x86_64        3.2 kB/s | 989  B     00:00    
Fedora Modular 34 - x86_64                       14 kB/s | 6.5 kB     00:00    
Fedora 34 - x86_64 - Updates                     12 kB/s | 5.6 kB     00:00    
Fedora Modular 34 - x86_64 - Updates             22 kB/s | 6.5 kB     00:00    
RPM Fusion for Fedora 34 - Free                 4.9 kB/s | 7.1 kB     00:01    
RPM Fusion for Fedora 34 - Free - Updates       6.9 kB/s | 6.5 kB     00:00    
RPM Fusion for Fedora 34 - Free - Updates        45 kB/s | 337 kB     00:07    
RPM Fusion for Fedora 34 - Nonfree              6.6 kB/s | 7.1 kB     00:01    
RPM Fusion for Fedora 34 - Nonfree - Updates    7.7 kB/s | 7.1 kB     00:00    
Dependencies resolved.
[...]

Надеюсь это поможет.

Связанное чтение:

  • [Решено] ошибка, повредившая заголовок rpmdb в Fedora, CentOS
  • Как устранить ошибку «Ошибка: ошибка открытия rpmdb» в CentOS

Статьи по данной тематике