Bản sửa lỗi: DbDriver Cấu hình trực tuyến


93

Tôi đang cố gắng cài đặt flashybridnhưng khi tôi nhập apt-get install flashybridlệnh, tôi gặp lỗi này:

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)

Tôi cũng đã thử cái này để tìm những gì đã sử dụng tập tin đó:

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

Nhưng tôi không biết làm thế nào để khắc phục điều này.

Câu trả lời:


110

Đây là một lệnh đơn giản hơn

Tôi vừa làm:

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

Sau khi tôi chạy apt-get installvà (tôi đã cài đặt curl) và nó đã hoạt động khôi phục các trang hướng dẫn db.

PS: Tôi đã xóa một cái gì đó với apt-get và tôi đã có vấn đề này. nhưng giải quyết nó đơn giản cũng cảm ơn @rajagenupula


Tôi đã sử dụngsudo \rm -v /var/cache/debconf/*.dat
Mark Stewart

17
Đừng làm điều này ... bạn có thể phá vỡ hệ thống của bạn. Câu trả lời đúng là sử dụng bộ nhiệt áp và tiêu diệt quá trình, như trong câu trả lời của Sayed dưới đây.
Ryan P

8
Ừm, đừng xóa cái đó. Chỉ cần giết quá trình đã mở tập tin.
jorfus

4
Đây có thể là điều rất nguy hiểm để làm. Vui lòng xem câu trả lời dưới đây
BlackDivine

1
Trong trường hợp của tôi, không có quá trình nào chạy, vì vậy đây là giải pháp duy nhất có hiệu quả.
Macroman

106

Một giải pháp cho vấn đề khóa này được trình bày chi tiết trong wiki :

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

Sẽ cho bạn thấy quá trình đang giữ khóa:

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

Sau đó, bạn chỉ cần ghi lại PID và giết nó như vậy:

sudo kill PID
sudo kill -9 PID  # if the first doesn't work

1
Điều này làm việc tuyệt vời! Cảm ơn rất nhiều, tôi đã không biết về 'fuser'!
stolsvik

1
fuser cũng có công tắc tùy chọn -kgiết chết tiến trình tìm thấy sử dụng tệp: sudo fuser -v -k /var/cache/debconf/config.datsẽ giết tiến trình ngay lập tức
minni

1
Điều này nên được chọn là câu trả lời tốt nhất.
Arda

Làm việc cho tôi khi bản nâng cấp Debian từ Stretch lên Buster vô tình có nền tảng.
Adambean

15
  1. mở thiết bị đầu cuối của bạn
  2. mở vị trí /var/cache/debconfvớigksu nautilus
  3. di chuyển (cắt / dán) tất cả các tệp .dat sang thư mục sao lưu khác.
  4. cố gắng chạy lại (có thể sẽ gặp một lỗi khác)
  5. khôi phục các tệp dữ liệu từ thư mục sao lưu nói trên.
  6. Sau đó thử lại những gì bạn đang làm (nên làm việc lần này).

1
Tôi đã có một vấn đề tương tự và tôi chỉ xóa tất cả các tập tin trong thư mục debconf.
Agmenor

tôi đã nói ở điểm 3. một tập tin với mật khẩu và với phần mở rộng. ok bây giờ những gì bạn đang nhận được. bạn có thể gửi chúng ở đây bằng liên kết pastebin.
rɑːdʒɑ

cùng một vấn đề, tôi cần phải xóa tất cả các tệp trong thư mục debconf
tương

tôi vẫn nhận được debconf lỗi: apt-extracttemplates thất bại: Không có tập tin hoặc thư mục như apt-extracttemplates thất bại

1
Tôi đã rất tức giận, thấy câu trả lời của bạn và đột nhiên có tiến triển. Cảm ơn bạn.
David Carboni

7
sudo fuser -vik /var/cache/debconf/config.dat

Sẽ hiển thị quá trình và hỏi nếu bạn muốn chấm dứt nó.


cảm ơn đã giúp tôi ..: D
Budi Mulyo

0

Có một quá trình vẫn đang chạy chặn debconf. Bạn nên đợi cho đến khi nó kết thúc . Hoặc tìm hiểu làm thế nào nó bị mắc kẹt, vì trong một số trường hợp, nó sẽ cố gắng hỏi bạn một câu hỏi nhưng vì bạn không có phạm vi để xem nó. Nếu bạn chờ đợi đôi khi và mọi thứ không thay đổi, bạn có thể cần phải khởi động lại hệ thống hoặc chấm dứt quá trình.

sudo kill 4672

hoặc là

sudo killall dpkg-prec

Điều này sẽ đảm bảo với bạn rằng cơ sở dữ liệu của bạn sẽ không bị hỏng và sẽ ngăn các sự cố tiếp theo.


3
Tôi nghĩ rằng việc sử dụng tiến trình id 4672 trong ví dụ lệnh đầu tiên của bạn là vô nghĩa. Ai đó có thể sử dụng lệnh đó như hiện tại, nhưng nó sẽ không hoạt động vì rất có thể anh ta sẽ có một id tiến trình khác.
dùng205301

@ user205301 đó là thứ hai dùng để làm gì;)
Braiam
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.