Cara Rebuild RPM Database

RPM Database mendukung dua backend database, yaitu SQLite dan NDB. Untuk mengetahui backend yang digunakan sistem, jalankan:
rpm -E "%{_db_backend}"
Secara umum, lokasi database ada di direktori:
/var/lib/rpm
Dengan nama file:
- Backend SQLite:
rpmdb.sqlite - Backend NDB:
Packages.db
Kerusakan pada RPM Database bisa terjadi karena instalasi paket yang tidak selesai, software pihak ketiga, atau penghapusan file/konten RPM secara manual. Jika database corrupt, maka perintah seperti yum, dnf, atau rpm tidak akan berfungsi dengan baik, termasuk saat melakukan instalasi, update, maupun penghapusan paket.
Berikut langkah-langkah untuk memperbaiki atau merekonstruksi RPM Database yang rusak.
1. Backup RPM Database
Selalu lakukan backup sebelum melakukan perbaikan:
mkdir -p /backups tar -zcvf /backups/rpmdb-$(date +"%d%m%Y").tar.gz /var/lib/rpm
2. Verifikasi Integritas Database
Hapus file cache database (__db*) kemudian verifikasi file Packages:
cd /var/lib/rpm rm -f __db* /usr/lib/rpm/rpmdb_verify /var/lib/rpm/Packages
3. Dump dan Reload Database (Jika Terdapat Error)
Jika verifikasi menemukan error, lakukan dump dan load ulang:
mv Packages Packages.orig /usr/lib/rpm/rpmdb_dump Packages.orig | /usr/lib/rpm/rpmdb_load Packages
4. Verifikasi dengan Query Paket
Pastikan database dapat dibaca dengan menampilkan daftar paket:
rpm -qa
5. Rebuild RPM Database
Terakhir, rebuild indeks database untuk memastikan konsistensi penuh:
rpm -vv --rebuilddb


