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
| Pemeriksaan | Fungsi |
|---|---|
| METADATA CHECK | Memeriksa apakah file metadata paket telah dimodifikasi dengan membandingkan hash asli saat instalasi dengan yang sekarang. |
| FILES CHECK | Memeriksa semua file milik paket — apakah ada yang hilang atau dimodifikasi. File biasa dicek via waktu modifikasi dan hash SHA256; symlink dicek targetnya. |
| DEPENDENCIES CHECK | Memeriksa apakah semua dependensi yang dibutuhkan suatu paket terpenuhi. |
| ALTERNATIVES CHECK | Memeriksa apakah semua symbolic link untuk grup xbps-alternatives sudah benar. |
| OBSOLETE METADATA CHECK | Membersihkan data usang dari versi XBPS sebelumnya. |
| FORMAT CONVERSION | Mengupdate format pkgdb ke versi terbaru (flag -u). |
2. Mode Manajemen Status Paket
Gunakan flag -m untuk mengubah status paket:
| Mode | Fungsi |
|---|---|
auto | Tandai paket sebagai automatic (terinstall sebagai dependensi). Akan dianggap orphan dan bisa dihapus oleh xbps-remove -o. |
manual | Tandai paket sebagai manual (diinstall eksplisit). Tidak akan dihapus sebagai orphan. |
hold | Cegah paket dari update saat upgrade sistem. Berguna untuk mempertahankan versi tertentu. |
unhold | Hapus status hold. |
repolock | Kunci paket agar hanya menerima update dari repositori asal instalasi. Berguna untuk paket yang di-build sendiri. |
repounlock | Hapus status repolock. |
Opsi
| Flag | Keterangan |
|---|---|
-a, --all | Proses semua paket terlepas dari statusnya |
-m, --mode <mode> | Ubah mode paket (auto, manual, hold, unhold, repolock, repounlock) |
-u, --update | Update 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, --verbose | Tampilkan informasi lebih detail |
-d, --debug | Tampilkan 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
| Path | Keterangan |
|---|---|
/var/db/xbps/pkgdb-0.38.plist | Database utama paket — mencatat semua paket terinstall |
/var/db/xbps/.<pkgname>-files.plist | Metadata file per paket |
/var/cache/xbps/ | Cache paket biner |
Catatan Penting
- Perubahan mode paket langsung mempengaruhi perilaku
xbps-installdanxbps-remove. - Flag
-m manualdan-m autoadalah satu-satunya cara resmi mengubah status orphan suatu paket. - Beberapa operasi memerlukan akses root (
sudo). - Untuk
repolockyang efektif pada paket custom, pastikan repositori lokal tidak disinkronisasi ke repositori upstream.
Referensi
man xbps-pkgdb- xbps-pkgdb(1) — Void Linux manpages