L'altro giorno, ho provato ad aggiornare il mio sistema desktop Fedora 34 usando sudo dnf --refresh upgrade
comando e ho riscontrato questo problema - errore:rpmdbNextIterator:skipping h# 3643 Header V4 RSA/SHA256 Signature, key ID 45719a39:BAD .
$ sudo dnf --refresh upgrade
Risultato di esempio:
[...] 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

Era la prima volta che ricevevo un errore del genere e non ero sicuro della radice del problema.
Inoltre, ho provato alcuni comandi diversi:
$ sudo dnf update
$ sudo dnf --refresh update
$ sudo dnf --refresh dist-upgrade
Ogni volta, ho ricevuto lo stesso errore mostrato sopra.
Dopo alcune ricerche sul web, ho trovato una soluzione per questo problema nei forum Fedora.
Correzione "errore:rpmdbNextIterator:skipping" in Fedora
Per correggere rpmdbNextIterator
errore, ricostruire semplicemente il database RPM eseguendo il seguente comando:
$ sudo rpm --rebuilddb
Se riscontri ancora lo stesso errore, esegui il comando precedente ancora una volta. Non vedrai alcun output se il problema è stato risolto.
E quindi aggiorna il sistema Fedora usando il comando:
$ sudo dnf --refresh update

A volte, la ricostruzione del database RPM non aiuta. In tal caso, puoi eseguire il backup e ricostruirlo di nuovo come di seguito:
$ sudo mkdir /var/lib/rpm/old
$ sudo mv /var/lib/rpm/Pubkeys /var/lib/rpm/old/
Backup del database RPM:
$ mv /var/lib/rpm/__db* /var/lib/rpm/old/
Se non esegui il backup del database RPM, eliminalo semplicemente.
$ sudo rm /var/lib/rpm/__db*
Ora esegui il seguente comando per ricostruire il database RPM:
$ sudo rpm --rebuilddb
Se tutto va bene, non otterrai alcun output.
E poi aggiorna/aggiorna il sistema Fedora come al solito.
$ sudo dnf update --refresh
In alcuni casi, vedrai l'errore di autorizzazione negata come di seguito.
$ sudo rpmdb --rebuilddb -v
error: could not delete old database at /var/lib/rpmold.161084
Elimina manualmente il database di cui sopra utilizzando rm
comando:
$ sudo rm -rf /var/lib/rpmold.rpmold.161084
Quindi, ricostruisci il database RPM:
$ sudo rpmdb --rebuilddb -v
Infine, aggiorna il sistema Fedora:
$ sudo dnf update --refresh
Risultato di esempio:
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. [...]
Spero che questo aiuti.
Lettura correlata:
- [Risolto] errore rpmdb danneggiato header in Fedora, CentOS
- Come risolvere l'errore "Errore:apertura rpmdb non riuscita" in CentOS