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