“Debconf: DbDriver” config “: config.dat dikunci oleh proses lain: Sumberdaya tidak tersedia untuk sementara” saat menginstal paket

93

Saya mencoba menginstal flashybridtetapi ketika saya memasukkan apt-get install flashybridperintah, saya mendapatkan kesalahan ini:

root@user-desktop:/home/user# apt-get install flashybrid
Reading package lists... Done
Building dependency tree
Reading state information... Done
flashybrid is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
Setting up flashybrid (0.15+nmu2) ...
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable
dpkg: error processing flashybrid (--configure):
subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
flashybrid
E: Sub-process /usr/bin/dpkg returned an error code (1)

Saya juga mencoba yang ini untuk menemukan apa yang sudah menggunakan file itu:

root@user-desktop:/home/user# lsof | grep /var/cache/debconf/config.dat
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/user/.gvfs
Output information may be incomplete.
dpkg-prec 4672 root 4rW REG 8,6 39658 1697827 /var/cache/debconf/config.dat

Tapi saya tidak tahu bagaimana cara memperbaikinya.

Dimitris7
sumber

Jawaban:

110

Ini lebih sederhana satu perintah

Saya baru saja melakukannya:

sudo rm /var/cache/debconf/*.dat 

Setelah saya menjalankan apt-get installdan (saya menginstal curl) dan berhasil mengembalikan halaman manual db.

PS: Saya menghapus sesuatu dengan apt-get dan saya memang punya masalah ini. tetapi diselesaikan hanya terima kasih juga ke @rajagenupula

ucefkh
sumber
Saya menggunakansudo \rm -v /var/cache/debconf/*.dat
Mark Stewart
17
Jangan lakukan ini ... Anda dapat merusak sistem Anda. Jawaban yang benar adalah dengan menggunakan fuser dan membunuh prosesnya, seperti pada jawaban Sayed di bawah ini.
Ryan P
8
Um, jangan hapus itu. Bunuh saja proses yang membuka file tersebut.
jorfus
4
Ini bisa menjadi hal yang sangat berbahaya untuk dilakukan. Silakan lihat jawaban di bawah ini
BlackDivine
1
Dalam kasus saya, tidak ada proses yang berjalan, jadi ini adalah satu-satunya solusi yang berhasil.
MacroMan
106

Solusi untuk masalah penguncian ini dirinci dalam wiki :

sudo fuser -v /var/cache/debconf/config.dat

Akan menunjukkan kepada Anda proses apa yang menahan kunci:

                     USER        PID ACCESS COMMAND
/var/cache/debconf/config.dat:
                     root      18210 F.... dpkg-preconfigu

Maka Anda hanya perlu mencatat PID dan mematikannya seperti ini:

sudo kill PID
sudo kill -9 PID  # if the first doesn't work
Sayed Jalil Hassan
sumber
1
Ini bekerja luar biasa! Terima kasih banyak, saya tidak tahu 'fuser'!
stolsvik
1
fuser juga memiliki saklar opsi -kyang membunuh proses ditemukan yang menggunakan file: sudo fuser -v -k /var/cache/debconf/config.datakan membunuh proses segera
minni
1
Ini harus dipilih sebagai jawaban terbaik.
Arda
Bekerja untuk saya ketika pemutakhiran Debian dari Stretch ke Buster secara tidak sengaja latar belakang.
Adambean
15
  1. buka terminal Anda
  2. buka lokasi /var/cache/debconfdengangksu nautilus
  3. memindahkan (memotong / menempel) semua file dat ke direktori cadangan lain.
  4. mencoba untuk menjalankan lagi (kemungkinan akan mendapatkan kesalahan yang berbeda)
  5. mengembalikan file-file dat dari direktori cadangan yang disebutkan di atas.
  6. Kemudian coba lagi apa yang Anda lakukan (harus bekerja saat ini).
rɑːdʒɑ
sumber
1
Saya memiliki masalah yang sama dan saya baru saja menghapus semua file di folder debconf.
Agmenor
saya katakan di sana pada poin 3. file dengan kata sandi dan dengan ekstensi. ok sekarang apa yang kamu dapatkan. dapatkah Anda mempostingnya di sini dengan tautan pastebin.
rɑːdʒɑ
masalah yang sama, saya harus menghapus semua file di folder debconf
setara
saya masih mendapatkan error debconf: apt-extracttemplates gagal: Tidak ada file atau direktori apt-
1
Saya menjadi sangat marah, melihat jawaban Anda dan tiba-tiba ada kemajuan. Terima kasih.
David Carboni
7
sudo fuser -vik /var/cache/debconf/config.dat

Akan menampilkan proses dan bertanya apakah Anda ingin menghentikannya.

coderPatros
sumber
terima kasih ini membantu saya ..: D
Budi Mulyo
0

Ada proses yang masih berjalan memblokir debconf. Anda harus menunggu sampai selesai . Atau cari tahu bagaimana macetnya, karena dalam beberapa kasus akan mencoba untuk mengajukan pertanyaan tetapi karena Anda tidak memiliki ruang untuk melihatnya. Jika Anda menunggu beberapa saat dan hal-hal tidak berubah, Anda mungkin perlu me-reboot sistem, atau menghentikan proses.

sudo kill 4672

atau

sudo killall dpkg-prec

Ini akan meyakinkan Anda bahwa basis data Anda tidak akan rusak dan akan mencegah masalah lebih lanjut.

Braiam
sumber
3
Saya pikir tidak ada gunanya menggunakan proses id 4672 dalam contoh perintah pertama Anda. Seseorang mungkin menggunakan perintah itu apa adanya, tetapi itu tidak akan berfungsi karena ia kemungkinan besar akan memiliki id proses yang berbeda.
user205301
@ user205301 itulah gunanya yang kedua;)
Braiam