Saya hanya ingin tahu apakah seseorang dapat memberi tahu saya apa artinya ini:
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.
reidsr@ubuntu:~$ sudo dpkg --configure -a
dpkg: error: dpkg status database is locked by another process
reidsr@ubuntu:~$
Bagaimana saya menjalankan sudo dpkg --configure -a
secara manual?
Jawaban:
Lari pertama:
Kemudian pastikan proses itu tidak berjalan:
Jika sedang berjalan:
Pastikan proses selesai:
Kemudian hapus file kunci:
Biarkan dpkg memperbaiki sendiri:
Anda harus baik-baik saja setelahnya :)
sumber
lsof /var/lib/dpkg/lock
.Anda tidak dapat menjalankan beberapa paket aplikasi / perintah / alat secara bersamaan. Kadang-kadang, itu berarti bahwa synaptic, apt-get atau alat pembaruan paket sedang berjalan di backgroung. Tutup saja alat paket lain, atau tunggu sampai selesai. Dan dpkg akan berjalan.
sumber
Seseorang juga dapat mencoba:
Untuk memperbaiki paket yang rusak:
sumber
Yang berikut harus membantu:
sumber
Salah satu pendekatannya adalah hanya me-restart PC. Ini berhasil untuk saya.
sumber
Ini dapat terjadi jika proses pemutakhiran terputus (seperti koneksi Anda terputus). Anda dapat mencoba menggunakan layar sebagai root (
sudo su
) untuk kembali ke sesi.sumber
Ada beberapa jawaban yang bagus di sini, tetapi hanya ingin menambahkan metode non-lsof untuk menemukan pengguna kunci dpkg
Langkah 1: Cari tahu siapa yang mengunci dpkg:
Opsi # 1: Menggunakan lsof (tidak selalu diinstal pada mesin)
lsof /var/lib/dpkg/lock
Opsi # 2: Menggunakan bash
for pid in $(ls /proc | egrep [0-9]+); do sudo ls -l /proc/$pid/fd 2>/dev/null | grep /var/lib/dpkg/lock && echo $pid; done
Langkah 2: Putuskan apa yang ingin Anda lakukan dengan pengguna dpkg saat ini
Jika tidak ada proses seperti itu, tidak ada yang perlu diputuskan, langsung saja ke langkah selanjutnya.
Jika tidak, Anda harus memutuskan apakah Anda ingin mematikan proses atau membiarkannya selesai dengan anggun. Jika Anda memutuskan untuk membunuhnya, gunakan saja
kill <pid>
. Jika prosesnya masih belum mati, Anda dapat mempertimbangkan untuk membunuhnya menggunakankill -9 <pid>
, tetapi itu mungkin menciptakan inkonsistensi tertentu dan saya menyarankan untuk tidak melakukannya kecuali Anda tahu apa yang Anda lakukan.Langkah 3: Hapus file kunci
sudo rm /var/lib/dpkg/lock
Langkah 4: Perbaiki keadaan internal dpkg
sudo dpkg --configure -a
sumber
Dalam kasus kami tidak ada proses yang berjalan (PID) jadi saya berhenti dan mem-boot ulang VPS.
Berikutnya, ada beberapa file kunci yang mungkin perlu dihapus:
Kemudian Anda dapat memperbaikinya
dpkg
seperti yang disarankan:sumber