GNU/Linux >> Znalost Linux >  >> AlmaLinux

[Vyřešeno] „chyba:rpmdbNextIterator:přeskakování“ Ve Fedora Linux

Onehdy jsem se pokusil aktualizovat svůj desktopový systém Fedora 34 pomocí sudo dnf --refresh upgrade příkaz a skončil s tímto problémem - chyba:rpmdbNextIterator:přeskakování h# 3643 Header V4 RSA/SHA256 Signature, ID klíče 45719a39:BAD .

$ sudo dnf --refresh upgrade

Ukázkový výstup:

[...]
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

Bylo to poprvé, co jsem dostal takovou chybu, a nebyl jsem si jistý kořenem problému.

A také jsem vyzkoušel několik různých příkazů:

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

Pokaždé se mi zobrazila stejná chyba jako výše.

Po několika prohledávání webu jsem našel řešení tohoto problému ve fórech Fedory.

Oprava „error:rpmdbNextIterator:skipping“ ve Fedoře

Chcete-li opravit rpmdbNextIterator chyba, jednoduše znovu vytvořte databázi RPM provedením následujícího příkazu:

$ sudo rpm --rebuilddb

Pokud se stále setkáte se stejnou chybou, spusťte výše uvedený příkaz ještě jednou. Pokud je problém vyřešen, neuvidíte žádný výstup.

A poté aktualizujte systém Fedory pomocí příkazu:

$ sudo dnf --refresh update

Někdy nepomůže přebudování databáze RPM. V takovém případě jej můžete zálohovat a znovu vytvořit, jak je uvedeno níže:

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

Zálohování databáze RPM:

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

Pokud nechcete zálohovat databázi RPM, jednoduše ji smažte.

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

Nyní spusťte následující příkaz k opětovnému sestavení databáze RPM:

$ sudo rpm --rebuilddb

Pokud vše půjde dobře, nedostanete žádný výstup.

A pak aktualizujte/upgradujte systém Fedory jako obvykle.

$ sudo dnf update --refresh

V některých případech se zobrazí chyba oprávnění odepřeno, jak je uvedeno níže.

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

Vymažte výše uvedenou databázi ručně pomocí rm příkaz:

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

Poté znovu vytvořte databázi RPM:

$ sudo rpmdb --rebuilddb -v

Nakonec aktualizujte systém Fedory:

$ sudo dnf update --refresh

Ukázkový výstup:

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.
[...]

Doufám, že to pomůže.

Související čtení:

  • [Vyřešeno] chyba rpmdb poškozené záhlaví ve Fedoře, CentOS
  • Jak vyřešit chybu „Chyba:rpmdb open failed“ v CentOS

AlmaLinux
  1. Jak nainstalovat VLC na Fedora Linux

  2. Jak nainstalovat Zoom ve Fedora Linux 35

  3. Makro IS_ERR() v Linuxu

  1. Fedora ke stažení

  2. Co je nového ve Fedora 32 Workstation

  3. Chyba na Vagrant Up na Linuxu

  1. [Vyřešeno] Chyba rpmdb poškozené záhlaví ve Fedoře, RHEL

  2. Jak nainstalovat PostgreSQL 14 ve Fedora Linux

  3. Nainstalujte Linux Kernel 5.17 na Fedora Linux 35