„Debconf: DbDriver” config „: config.dat jest zablokowany przez inny proces: Zasób tymczasowo niedostępny” podczas instalowania pakietów

93

Próbuję zainstalować, flashybridale po wpisaniu apt-get install flashybridpolecenia pojawia się następujący błąd:

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)

Próbowałem także znaleźć ten, który już korzysta z tego pliku:

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

Ale nie wiem jak to naprawić.

Dimitris7
źródło

Odpowiedzi:

110

To jest prostsze jedno polecenie

Właśnie zrobiłem:

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

Po uruchomieniu apt-get installi (instalowałem curl) i zadziałało przywracanie stron podręcznika db.

PS: Usunąłem coś z apt-get i miałem ten problem. ale rozwiązałem to po prostu dzięki również @rajagenupula

ucefkh
źródło
Użyłemsudo \rm -v /var/cache/debconf/*.dat
Mark Stewart
17
Nie rób tego ... możesz uszkodzić swój system. Prawidłowa odpowiedź to użyć utrwalacza i zabić proces, jak w odpowiedzi Sayeda poniżej.
Ryan P,
8
Nie usuwaj tego. Po prostu zabij proces, w którym plik jest otwarty.
jorfus
4
To może być bardzo niebezpieczne. Zobacz odpowiedź poniżej
BlackDivine
1
W moim przypadku proces nie działał, więc było to jedyne działające rozwiązanie.
MacroMan
106

Rozwiązanie tego problemu z blokowaniem opisano szczegółowo na stronie wiki :

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

Pokaże, jaki proces utrzymuje blokadę:

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

Następnie wystarczy zanotować PID i zabić go w następujący sposób:

sudo kill PID
sudo kill -9 PID  # if the first doesn't work
Powiedział Jalil Hassan
źródło
1
To działało fantastycznie! Wielkie dzięki, nie wiedziałem o „fuser”!
stolsvik
1
fuser ma również przełącznik opcji, -kktóry zabija znaleziony proces korzystający z pliku: sudo fuser -v -k /var/cache/debconf/config.datnatychmiast zabije proces
minni
1
To powinno być wybrane jako najlepsza odpowiedź.
Arda,
Pracował dla mnie, gdy przypadkowo zaktualizowano Debiana ze Stretch do Bustera.
Adambean
15
  1. otwórz terminal
  2. otwórz lokalizację za /var/cache/debconfpomocągksu nautilus
  3. przenieś (wytnij / wklej) wszystkie pliki .dat do innego katalogu kopii zapasowej.
  4. spróbuj uruchomić ponownie (prawdopodobnie wystąpi inny błąd)
  5. przywróć te pliki danych z wyżej wymienionego katalogu kopii zapasowych.
  6. Następnie spróbuj ponownie tego, co robiłeś (tym razem powinno działać).
rɑːdʒɑ
źródło
1
Miałem podobny problem i właśnie usunąłem wszystkie pliki w folderze debconf.
Agmenor,
powiedziałem tam w punkcie 3. plik z hasłem i rozszerzeniem. ok, teraz co dostajesz. czy możesz opublikować je tutaj za pomocą linku do wklejania?
rɑːdʒɑ
ten sam problem, musiałem usunąć wszystkie pliki z folderu debconf
odpowiednik8
wciąż pojawia się komunikat o błędzie debconf: apt-extracttemplates nie powiodło się: Nie powiodło się wykonanie takiego pliku lub katalogu apt-
1
Byłem naprawdę bardzo zły, zobaczyłem twoją odpowiedź i nagle nastąpił postęp. Dziękuję Ci.
David Carboni
7
sudo fuser -vik /var/cache/debconf/config.dat

Wyświetli proces i zapyta, czy chcesz go zakończyć.

coderPatros
źródło
dzięki, pomóżcie mi ..: D
Budi Mulyo
0

Nadal trwa proces blokowania debconf. Powinieneś poczekać, aż się skończy . Lub dowiedz się, jak się zablokował, ponieważ w niektórych przypadkach spróbujesz zadać pytanie, ale ponieważ nie masz możliwości go zobaczyć. Jeśli odczekasz chwilę i nic się nie zmieni, być może będziesz musiał zrestartować system lub zakończyć proces.

sudo kill 4672

lub

sudo killall dpkg-prec

Zapewni to, że twoja baza danych nie ulegnie uszkodzeniu i zapobiegnie dalszym problemom.

Braiam
źródło
3
Myślę, że nie ma sensu używać identyfikatora procesu 4672 w pierwszym przykładzie polecenia. Ktoś może użyć tego polecenia w obecnej postaci, ale nie zadziała, ponieważ najprawdopodobniej miałby inny identyfikator procesu.
user205301
@ user205301 po to jest drugi;)
Braiam