安装软件包时出现“debconf:DbDriver“config”:config.dat 被另一个进程锁定:资源暂时不可用”

安装软件包时出现“debconf:DbDriver“config”:config.dat 被另一个进程锁定:资源暂时不可用”

我正在尝试安装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

但我不知道如何解决这个问题。

答案1

解决此锁定问题的方法是维基百科中有详细说明

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

答案2

这是一个更简单的命令

我已经做了:

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

在我运行apt-get installand (我正在安装 curl )并且它起作用后,恢复了数据库手册页。

PS:我用 apt-get 删除了一些东西,但确实遇到了这个问题。但我解决了,也感谢@rajagenupula

答案3

  1. 打开你的终端
  2. /var/cache/debconf使用以下方式打开位置gksu nautilus
  3. 将所有 .dat 文件移动(剪切/粘贴)到另一个备份目录。
  4. 尝试再次运行(可能会出现不同的错误)
  5. 从上述备份目录恢复这些 dat 文件。
  6. 然后再次尝试您正在做的事情(这次应该有效)。

答案4

仍有某个进程在运行并阻塞 debconf。你应该等到它完成。或者找出它是如何卡住的,因为在某些情况下它会尝试向您提问,但因为您没有范围来查看它。如果您等待一段时间而事情没有改变,您可能需要重新启动系统或终止该过程。

sudo kill 4672

或者

sudo killall dpkg-prec

这将确保您的数据库不会受到损坏并能防止进一步出现问题。

相关内容