Skip to main content
  1. Posts/

Cara Rebuild RPM Database

Table of Contents

Memperbaiki / Recovery RPM Database yang Rusak
#

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

Related