"Debconf: DbDriver" config ": config.dat блокується іншим процесом: ресурс тимчасово недоступний" під час встановлення пакетів


93

Я намагаюся встановити, flashybridале коли я ввожу apt-get install flashybridкоманду, я отримую цю помилку:

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)

Я також спробував цей, щоб знайти те, що вже використовує цей файл:

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

Але я не знаю, як це виправити.

Відповіді:


110

Це більш проста одна команда

Я тільки що зробив:

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

Після запуску apt-get installі (я встановлював curl), і він працював відновив сторінки керівництва db.

PS: Я щось видалив за допомогою apt-get, і у мене була ця проблема. але вирішив це просто дякую також @rajagenupula


Я використавsudo \rm -v /var/cache/debconf/*.dat
Марк Стюарт

17
Не робіть цього ... ви можете зламати систему. Правильна відповідь - використовувати фюзер і вбивати процес, як у відповіді Саєда нижче.
Райан П

8
Гм, не видаляйте цього. Просто вбити процес, у якому файл відкрився.
jorfus

4
Це може бути дуже небезпечною справою. Дивіться відповідь нижче
BlackDivine

1
У моєму випадку не було запущеного процесу, тому це було єдиним рішенням, яке працювало.
MacroMan

106

Рішення цієї проблеми блокування детально описано у вікі :

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

Покаже вам, який процес тримає замок:

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

Тоді вам просто потрібно записати PID і вбити його так:

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

1
Це спрацювало фантастично! Дякую купу, я не знав "фюзера"!
stolsvik

1
fuser також має перемикач параметрів, -kякий вбиває знайдений процес, який використовує файл: sudo fuser -v -k /var/cache/debconf/config.datвбиває процес одразу
minni

1
Це слід вибрати як найкращу відповідь.
Арда

Працював для мене, коли випадково відбулось оновлення Debian з Stretch на Buster.
Адамбій

15
  1. відкрити свій термінал
  2. відкрити місце розташування за /var/cache/debconfдопомогоюgksu nautilus
  3. перемістити (вирізати / вставити) всі файли .dat в інший каталог резервного копіювання.
  4. спроба запуститись знову (ймовірно, вийде інша помилка)
  5. відновити ці файли DAT із згаданого каталогу резервного копіювання.
  6. Потім спробуйте ще раз, що ви робили (має спрацювати цього разу).

1
У мене була подібна проблема, і я просто видалив усі файли в папці debconf.
Агменор

я сказав там у пункті 3. файл із паролем та з розширенням. добре зараз, що ви отримуєте. Чи можете ви опублікувати їх тут за посиланням pastebin.
rɑːdʒɑ

та ж проблема, мені потрібно було видалити всі файли в папці debconf
еквівалентно8

я все ще отримую помилку debconf: apt-extratemplates не вдалося: Немає такого файлу чи каталогу apt-extratemplates не вдалося

1
Я дуже розсердився, побачив вашу відповідь і раптом є прогрес. Дякую.
Девід Карбоні

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

Відобразиться процес і запитає, чи потрібно його припинити.


дякую за допомогу мені ..: D
Буді Мульо

0

Досі триває процес блокування debconf. Вам слід почекати, поки воно закінчиться . Або дізнайтеся, як він застряг, оскільки в деяких випадках вам постарається задати вам питання, але оскільки у вас немає можливості його побачити. Якщо ви зачекаєте десь, і все не зміниться, можливо, вам доведеться перезавантажити систему або припинити процес.

sudo kill 4672

або

sudo killall dpkg-prec

Це запевнить, що ваша база даних не буде пошкоджена та запобіжить подальшим проблемам.


3
Я думаю, що безглуздо використовувати id id 4672 у своєму першому прикладі команди. Хтось може використовувати цю команду як є, але вона не працюватиме, оскільки він, ймовірно, має інший ідентифікатор процесу.
користувач205301

@ user205301 ось для чого і другий;)
Брайам
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.