xbps-pkgdb

xbps-pkgdb adalah utilitas XBPS untuk memeriksa, memperbaiki, dan memodifikasi database paket (pkgdb) di Void Linux.

Fungsi Utama

xbps-pkgdb memiliki dua peran: maintenance (memeriksa dan memperbaiki database paket) serta manajemen status (mengubah mode paket).

1. Mode Maintenance & Pemeriksaan Database

PemeriksaanFungsi
METADATA CHECKMemeriksa apakah file metadata paket telah dimodifikasi dengan membandingkan hash asli saat instalasi dengan yang sekarang.
FILES CHECKMemeriksa semua file milik paket — apakah ada yang hilang atau dimodifikasi. File biasa dicek via waktu modifikasi dan hash SHA256; symlink dicek targetnya.
DEPENDENCIES CHECKMemeriksa apakah semua dependensi yang dibutuhkan suatu paket terpenuhi.
ALTERNATIVES CHECKMemeriksa apakah semua symbolic link untuk grup xbps-alternatives sudah benar.
OBSOLETE METADATA CHECKMembersihkan data usang dari versi XBPS sebelumnya.
FORMAT CONVERSIONMengupdate format pkgdb ke versi terbaru (flag -u).

2. Mode Manajemen Status Paket

Gunakan flag -m untuk mengubah status paket:

ModeFungsi
autoTandai paket sebagai automatic (terinstall sebagai dependensi). Akan dianggap orphan dan bisa dihapus oleh xbps-remove -o.
manualTandai paket sebagai manual (diinstall eksplisit). Tidak akan dihapus sebagai orphan.
holdCegah paket dari update saat upgrade sistem. Berguna untuk mempertahankan versi tertentu.
unholdHapus status hold.
repolockKunci paket agar hanya menerima update dari repositori asal instalasi. Berguna untuk paket yang di-build sendiri.
repounlockHapus status repolock.

Opsi

FlagKeterangan
-a, --allProses semua paket terlepas dari statusnya
-m, --mode <mode>Ubah mode paket (auto, manual, hold, unhold, repolock, repounlock)
-u, --updateUpdate format database pkgdb ke versi terbaru
--checks <checks>Jalankan hanya pemeriksaan tertentu, dipisah koma
-C, --config <dir>Tentukan direktori konfigurasi XBPS
-r, --rootdir <dir>Tentukan direktori root target
-v, --verboseTampilkan informasi lebih detail
-d, --debugTampilkan informasi debug ke stderr

Contoh Penggunaan

Maintenance

Periksa semua paket:

xbps-pkgdb -a

Periksa paket tertentu saja:

xbps-pkgdb firefox

Jalankan pemeriksaan spesifik saja:

xbps-pkgdb --checks files,dependencies -a

Update format database:

sudo xbps-pkgdb -u

Manajemen Status Paket

Hold paket — mencegah update saat xbps-install -Su:

sudo xbps-pkgdb -m hold firefox

Unhold paket:

sudo xbps-pkgdb -m unhold firefox

Repolock paket — kunci ke repositori asal instalasi:

sudo xbps-pkgdb -m repolock firefox

Tandai paket sebagai manual (tidak akan dianggap orphan):

sudo xbps-pkgdb -m manual xfce4

Cek Status via xbps-query

Lihat daftar paket yang di-hold:

xbps-query -H

Lihat daftar paket manual:

xbps-query -m

Lihat daftar paket repolock:

xbps-query --list-repolock-pkgs

File Terkait

PathKeterangan
/var/db/xbps/pkgdb-0.38.plistDatabase utama paket — mencatat semua paket terinstall
/var/db/xbps/.<pkgname>-files.plistMetadata file per paket
/var/cache/xbps/Cache paket biner

Catatan Penting

  • Perubahan mode paket langsung mempengaruhi perilaku xbps-install dan xbps-remove.
  • Flag -m manual dan -m auto adalah satu-satunya cara resmi mengubah status orphan suatu paket.
  • Beberapa operasi memerlukan akses root (sudo).
  • Untuk repolock yang efektif pada paket custom, pastikan repositori lokal tidak disinkronisasi ke repositori upstream.

Referensi


@T4n-Labs · @Gh0sT4n