Cara Mengatasi “error: rpmdbNextIterator: skip” Di Fedora Linux

Suatu hari, saya mencoba memperbarui sistem desktop Fedora 34 saya menggunakan perintah sudo dnf –refresh upgrade dan berakhir dengan kesalahan ini – error: rpmdbNextIterator: skipping h# 3643 Header V4 RSA/SHA256 Signature, key ID 45719a39: BAD.

 $ sudo DNF --refresh upgrade

Sample keluaran:

 [...] Menjalankan kesalahan cek transaksi: rpmdbNextIterator: skipping h # 3643 Tajuk V4 RSA / SHA256 Signature, kunci ID 45719a39: BAD header SHA256 digest: BAD (! Expected cc14b51b22595cfdf9d87d21e6ab8604b62eb6481c4669fe814a9109754f4d54 = 00a7eb336286e45cec1ce6b67c4093fe6059bbe1ec95279f81dc51e2dc97ec89) Intisari SHA1 header: BURUK (Diharapkan a5f792ecf06988120d3127a8b272471bf6927fca != 348ab5cbf958d0898e9ac2b69a5306a5fba7dbfd) Paket yang diunduh disimpan dalam cache hingga transaksi sukses berikutnya. Anda dapat menghapus paket yang di-cache dengan menjalankan 'paket bersih dnf'. Kesalahan: Pengecualian rpm terjadi: paket tidak terpasang

Ini adalah pertama kalinya saya mendapatkan kesalahan seperti itu dan saya tidak yakin tentang akar masalahnya.

Dan juga, saya mencoba beberapa perintah berbeda:

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

Setiap kali, saya mendapatkan kesalahan yang sama seperti yang ditunjukkan di atas.

Setelah beberapa pencarian web, saya menemukan solusi untuk masalah ini di forum Fedora.
Fix “error: rpmdbNextIterator: skipping” di Fedora

In untuk memperbaiki kesalahan rpmdbNextIterator, cukup buat kembali basis data RPM dengan menjalankan perintah berikut:

$ sudo rpm --rebuilddb

Jika Anda masih menemukan kesalahan yang sama, jalankan perintah di atas sekali lagi. Anda tidak akan melihat keluaran apa pun jika masalah telah diperbaiki.

Dan kemudian perbarui sistem Fedora menggunakan perintah:

$ sudo dnf --refresh update

Terkadang, membangun kembali basis data RPM tidak membantu. Dalam hal ini, Anda dapat mencadangkan dan membangunnya kembali seperti di bawah ini:

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

Cadangkan basis data RPM.

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

Jika Anda tidak ingin mencadangkan basis data RPM, hapus saja.
$ sudo rm /var/lib/rpm/__db*
Now jalankan perintah berikut untuk membangun kembali basis data RPM:

$ sudo rpm --rebuilddb

Jika semuanya berjalan dengan baik, Anda tidak akan mendapatkan output apa pun.

Dan kemudian perbarui/upgrade sistem Fedora sebagai suaul.

$ sudo dnf update –refresh

Dalam beberapa kasus, Anda akan lihat izin ditolak kesalahan seperti di bawah ini.

$ sudo rpmdb --rebuilddb -verror: tidak dapat menghapus database lama di /var/lib/rpmold.161084

Hapus database di atas secara manual menggunakan perintah rm:

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

database RPM:

$ sudo rpmdb --rebuilddb -v

Terakhir, perbarui sistem Fedora:

$ sudo dnf update --refresh

Contoh output:

Fedora 34 - x86_64 19 kB/s | 6.4 kB 00:00 Fedora 34 openh264 (Dari 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 - Pembaruan 12 kB/dtk | 5.6 kB 00:00 Fedora Modular 34 - x86_64 - Pembaruan 22 kB/dtk | 6,5 kB 00:00 RPM Fusion untuk Fedora 34 - Gratis 4,9 kB/dtk | 7.1 kB 00:01 RPM Fusion untuk Fedora 34 - Gratis - Pembaruan 6.9 kB/s | 6,5 kB 00:00 RPM Fusion untuk Fedora 34 - Gratis - Pembaruan 45 kB/dtk | 337 kB 00:07 RPM Fusion untuk Fedora 34 - Tidak Gratis 6,6 kB/dtk | 7.1 kB 00:01 RPM Fusion untuk Fedora 34 - Tidak Gratis - Pembaruan 7.7 kB/dtk | 7.1 kB 00:00 Ketergantungan diselesaikan. [...]

Semoga ini membantu.

Baca terkait:
Cara Mengatasi Kesalahan “Kesalahan: rpmdb buka gagal” Di CentOS