패키지를 설치하는 동안 "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 installand ((curl을 설치하고있었습니다)를 실행 한 후 db 매뉴얼 페이지를 복원했습니다.

추신 : 나는 apt-get으로 무언가를 제거 했고이 문제가있었습니다. 하지만 @rajagenupula에게도 감사드립니다.


내가 사용sudo \rm -v /var/cache/debconf/*.dat
Mark Stewart

17
이 작업을 수행하지 마십시오. 시스템이 손상 될 수 있습니다. 정답은 아래의 Sayed 's answer에서와 같이 퓨저를 사용하고 프로세스를 종료하는 것입니다.
Ryan P

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
퓨저 또한 옵션 스위치가 -k: 파일을 사용하는 발견 프로세스를 죽이는 sudo fuser -v -k /var/cache/debconf/config.dat즉시 프로세스를 종료됩니다
- 민

1
최선의 답변으로 선택해야합니다.
Arda

스트레치에서 버스터로 데비안을 업그레이드했을 때 실수로 배경을 얻었을 때 나를 위해 일했습니다.
Adambean

15
  1. 터미널을여십시오
  2. 로 위치 /var/cache/debconf를 엽니 다gksu nautilus
  3. 모든 .dat 파일을 다른 백업 디렉토리로 이동 (잘라 내기 / 붙여 넣기)하십시오.
  4. 다시 실행을 시도하십시오 (다른 오류가 발생할 수 있음)
  5. 위에서 언급 한 백업 디렉토리에서 해당 dat 파일을 복원하십시오.
  6. 그런 다음 수행 한 작업을 다시 시도하십시오 (이번에는 작동해야 함).

1
비슷한 문제가 있었고 debconf 폴더의 모든 파일을 삭제했습니다.
Agmenor

나는 지점 3에 거기에 말했다. 비밀번호와 확장자를 가진 파일. 이제 당신이 얻는 것. pastebin link로 여기에 게시 할 수 있습니까?
rɑːdʒɑ

같은 문제, 나는 debconf 폴더에있는 모든 파일을 제거해야했다
equivalent8

난 여전히 오류 어떤 debconf 무엇입니까 : APT-extracttemplates 실패 : 해당 파일이나 디렉토리는 apt-extracttemplates 실패

1
나는 정말로 화가 났고, 당신의 대답을 보았고 갑자기 진보가있었습니다. 감사합니다.
David Carboni '

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

프로세스를 표시하고 종료할지 묻습니다.


도와 줘서 고마워 .. : D
Budi Mulyo

0

debconf를 차단하는 프로세스가 여전히 실행 중입니다. 완료 될 때까지 기다려야합니다 . 또는 어떤 경우에는 질문을 시도하지만 질문을 볼 수있는 범위가 없기 때문에 문제가 어떻게 발생했는지 알아보십시오. 잠시 기다렸다가 변경되지 않으면 시스템을 재부팅하거나 프로세스를 종료해야 할 수도 있습니다.

sudo kill 4672

또는

sudo killall dpkg-prec

이렇게하면 데이터베이스가 손상되지 않으며 추가 문제를 방지 할 수 있습니다.


3
첫 번째 명령 예제에서 프로세스 ID 4672를 사용하는 것은 의미가 없다고 생각합니다. 누군가는 그 명령을있는 그대로 사용할 수도 있지만 다른 프로세스 ID를 가질 가능성이 높으므로 작동하지 않습니다.
user205301

@ user205301 그것이 두 번째입니다;)
Braiam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.