L'autre jour, j'ai essayé de mettre à jour mon système de bureau Fedora 34 en utilisant sudo dnf --refresh upgrade
commande et s'est retrouvé avec ce problème - error :rpmdbNextIterator :sauter h# 3643 Header V4 RSA/SHA256 Signature, key ID 45719a39 :BAD .
$ sudo dnf --refresh upgrade
Exemple de résultat :
[...] L'exécution CheckError de transaction:rpmdbNextIterator:sauter h # 3643 tête V4 RSA / SHA256 Signature, ID de clé 45719a39:BADHeader SHA256:(! Cc14b51b22595cfdf9d87d21e6ab8604b62eb6481c4669fe814a9109754f4d54 attendu =00a7eb336286e45cec1ce6b67c4093fe6059bbe1ec95279f81dc51e2dc97ec89) de BAD tête SHA1:BAD (a5f792ecf06988120d3127a8b272471bf6927fca attendu! =348ab5cbf958d0898e9ac2b69a5306a5fba7dbfd) Les packages téléchargés ont été enregistrés dans le cache jusqu'à la prochaine transaction réussie. Vous pouvez supprimer les packages mis en cache en exécutant "dnf clean packages".![]()
C'était la première fois que j'obtenais une telle erreur et je n'étais pas sûr de la racine du problème.
Et aussi, j'ai essayé quelques commandes différentes :
Mise à jour $ sudo dnf$ sudo dnf --refresh mise à jour$ sudo dnf --refresh dist-upgradeChaque fois, j'ai eu la même erreur que celle indiquée ci-dessus.
Après quelques recherches sur le Web, j'ai trouvé une solution à ce problème dans les forums Fedora.
Correction "erreur :rpmdbNextIterator :saut" dans Fedora
Afin de réparer
rpmdbNextIterator
erreur, reconstruisez simplement la base de données RPM en exécutant la commande suivante :$ sudo rpm --rebuilddbSi vous rencontrez toujours la même erreur, exécutez la commande ci-dessus une fois de plus. Vous ne verrez aucune sortie si le problème est résolu.
Et puis mettez à jour le système Fedora en utilisant la commande :
$ sudo dnf --refresh mise à jour![]()
Parfois, la reconstruction de la base de données RPM n'aide pas. Dans ce cas, vous pouvez le sauvegarder et le reconstruire à nouveau comme ci-dessous :
$ sudo mkdir /var/lib/rpm/old$ sudo mv /var/lib/rpm/Pubkeys /var/lib/rpm/old/Base de données RPM de sauvegarde :
$ mv /var/lib/rpm/__db* /var/lib/rpm/old/Si vous ne sauvegardez pas la base de données RPM, supprimez-la simplement.
$ sudo rm /var/lib/rpm/__db*Exécutez maintenant la commande suivante pour reconstruire la base de données RPM :
$ sudo rpm --rebuilddbSi tout se passe bien, vous n'obtiendrez aucune sortie.
Et puis mettez à jour/mettez à niveau le système Fedora comme d'habitude.
$ sudo dnf update --refreshDans certains cas, vous verrez une erreur d'autorisation refusée comme ci-dessous.
$ sudo rpmdb --rebuilddb -v
erreur :impossible de supprimer l'ancienne base de données sur /var/lib/rpmold.161084Supprimez manuellement la base de données ci-dessus à l'aide de
rm
commande :$ sudo rm -rf /var/lib/rpmold.rpmold.161084Ensuite, reconstruisez la base de données RPM :
$ sudo rpmdb --rebuilddb -vEnfin, mettez à jour le système Fedora :
$ sudo dnf update --refreshExemple de résultat :
Fedora 34 - x86_64 19 ko/s | 6,4 Ko 00:00 Fedora 34 openh264 (De Cisco) - x86_64 3,2 Ko/s | 989 B 00:00 Fedora Modulaire 34 - x86_64 14 kB/s | 6.5 Ko 00:00 Fedora 34 - x86_64 - Mises à jour 12 Ko/s | 5.6 Ko 00:00 Fedora Modular 34 - x86_64 - Mises à jour 22 Ko/s | 6,5 Ko 00:00 RPM Fusion pour Fedora 34 - Gratuit 4,9 Ko/s | 7,1 Ko 00:01 RPM Fusion pour Fedora 34 - Gratuit - Mises à jour 6,9 Ko/s | 6.5 Ko 00:00 RPM Fusion pour Fedora 34 - Gratuit - Mises à jour 45 Ko/s | 337 Ko 00:07 RPM Fusion pour Fedora 34 - Non libre 6,6 Ko/s | 7,1 Ko 00:01 RPM Fusion pour Fedora 34 - Non libre - Mises à jour 7,7 Ko/s | 7.1 kB 00:00 Dépendances résolues.[...]J'espère que cela vous aidera.
Lire connexe :
- [Résolu] erreur rpmdb en-tête endommagé dans Fedora, CentOS
- Comment résoudre l'erreur "Erreur :échec de l'ouverture de rpmdb" dans CentOS