dpkg 锁无法解析

dpkg 锁无法解析

我收到以下错误:

 E: Could not get lock /var/lib/dpkg/lock - open (11: Resource
 temporarily unavailable)

 E: Unable to lock the administration
 directory (/var/lib/dpkg/), is another process using it?

每次我尝试安装新软件时,我都会尝试终止该进程。因此,我输入命令“ps -A | grep apt-get”,但没有得到任何响应。

我怎样才能摆脱这把锁?

答案1

apt-get并不是唯一使用的前端应用程序/var/lib/dpkg/lock

更新管理器、软件中心、Synaptic 等aptitude都有自己与 Apt 和 dpkg 数据库交互的方式。

找出答案什么已经打开,您可以使用fuser

sudo fuser -u /var/lib/dpkg/lock

然后,如果可以安全杀死它(我建议人们在使用该-k标志之前务必检查),你可以杀死它并删除锁文件

答案2

使用lsof <file>似乎也有效。

例如,如果我正在synaptic运行(实时):

$ sudo lsof /var/lib/dpkg/lock

lsof: WARNING: can't stat() tmpfs file system /cow
      Output information may be incomplete.
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/999/gvfs
      Output information may be incomplete.
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF  NODE NAME
synaptic 20942 root   10uW  REG   0,18        0 39610 /var/lib/dpkg/lock

然后我知道synapticPID 为 20942 的程序打开了锁文件,从而阻止了其他包管理程序。

相关内容