El otro día intenté usar mi sistema de escritorio Fedora 34. actualizar sudo dnf --refresh upgrade
Comando y terminó con este error: error: rpmdbNextIterator: skipping h# 3643 Header V4 RSA/SHA256 Signature, key ID 45719a39: BAD
.
$ sudo dnf --refresh upgrade
Salida de muestra:
[...] 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 primera vez que recibía un error de este tipo y no estaba seguro de cuál era el problema.
También probé algunos comandos diferentes:
$ sudo dnf update
$ sudo dnf --refresh update
$ sudo dnf --refresh dist-upgrade
Cada vez que aparece el mismo error que se muestra arriba.
Después de algunas búsquedas en la web, encontré una solución a este problema en los foros de Fedora.
Arreglar «Error: rpmdbNextIterator: Omitir» en Fedora
Arreglar rpmdbNextIterator
Error, simplemente reconstruya la base de datos RPM ejecutando el siguiente comando:
$ sudo rpm --rebuilddb
Si aún se produce el mismo error, vuelva a intentar el comando anterior. No verá ningún resultado cuando se resuelva el problema.
Y luego actualice el sistema Fedora con el comando:
$ sudo dnf --refresh update
A veces no ayuda reconstruir la base de datos RPM. En ese caso, así es como puede hacer una copia de seguridad y volver a crearlo:
$ sudo mkdir /var/lib/rpm/old
$ sudo mv /var/lib/rpm/Pubkeys /var/lib/rpm/old/
Realice una copia de seguridad de la base de datos de RPM.
$ mv /var/lib/rpm/__db* /var/lib/rpm/old/
Si no desea hacer una copia de seguridad de la base de datos RPM, simplemente elimínela.
$ sudo rm /var/lib/rpm/__db*
Ahora ejecute el siguiente comando para reconstruir la base de datos RPM:
$ sudo rpm --rebuilddb
Si todo va bien, no obtendrá nada.
Y luego actualice / actualice el sistema Fedora como Suaul.
$ sudo dnf update –refresh
En algunos casos, obtendrá el error «Permiso denegado» como se muestra a continuación.
$ sudo rpmdb --rebuilddb -v
error: could not delete old database at /var/lib/rpmold.161084
Elimine la base de datos anterior manualmente con rm
Mando:
$ sudo rm -rf /var/lib/rpmold.rpmold.161084
Luego reconstruya la base de datos RPM:
$ sudo rpmdb --rebuilddb -v
Finalmente, actualice el sistema Fedora:
$ sudo dnf update --refresh
Salida de muestra:
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. [...]
Espero que ayude.