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 à jourParfois, 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