⚠️ Contoh Pesan Error
error: could not lock database: File exists
if you're sure a package manager is not already running, you can remove /var/lib/pacman/db.lck
error: failed to synchronize all databasesError ini muncul karena pacman sedang dikunci oleh proses lain — bisa karena update belum selesai, sistem mati mendadak, atau ada proses pacman/par u yang masih berjalan di background.
🧭 Langkah Aman Memperbaiki
1️⃣ Cek Apakah Ada Proses Pacman yang Aktif
ps aux | grep pacmanKalau masih ada proses pacman atau paru yang aktif, biarkan sampai selesai atau hentikan dengan hati-hati:
sudo kill -9 <PID>2️⃣ Hapus File Lock
Jika tidak ada proses aktif, hapus file pengunci manual:
sudo rm /var/lib/pacman/db.lckFile ini hanya menandakan bahwa pacman sedang digunakan. Menghapusnya aman jika tidak ada pacman lain yang sedang berjalan.
3️⃣ Jalankan Sinkronisasi Ulang
sudo pacman -SyyuIni memastikan database dan paket kembali tersinkron setelah file lock dihapus.
4️⃣ Jika Masalah Terjadi Berulang
- Pastikan tidak menjalankan dua terminal pacman/paru bersamaan.
- Hindari mematikan sistem di tengah proses update.
- Periksa service otomatis seperti
reflectorataupamac(jika terpasang) yang bisa mengunci database di background.
💡 Tips Tambahan
- Kamu bisa menambahkan alias kecil di
~/.bashrcuntuk memeriksa file lock:
alias paclock='sudo lsof /var/lib/pacman/db.lck'Gunakan paclock untuk memeriksa apakah database sedang dikunci dan oleh proses apa.
✅ Kesimpulan
Error “database is locked” hanyalah mekanisme keamanan bawaan pacman untuk mencegah dua proses menulis database bersamaan. Hapus file db.lck hanya jika kamu yakin tidak ada proses pacman lain yang aktif.