E:无法获取锁 /var/lib/dpkg/lock-frontend - open(11:资源暂时不可用)?

E:无法获取锁 /var/lib/dpkg/lock-frontend - open(11:资源暂时不可用)?

E:无法获取锁 /var/lib/dpkg/lock-frontend - 打开(11:资源暂时不可用)E:无法获取 dpkg 前端锁(/var/lib/dpkg/lock-frontend),另一个进程是否正在使用它?

如果我尝试在任何命令上运行 sudo apt install,这就是我得到的结果。

答案1

以下错误似乎是由于多种原因引起的,例如,多个 dpkg 实例或空间不足,或者因为您忘记了 apt-get 的 sudo。

E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?

为了诊断这个问题,首先在启动时在 bash 脚本中添加以下内容:

set -o xtrace

这将在执行每个命令时显示带有 + 符号前缀的命令。在我的例子中,确实发生了这种情况,因为我忘记在 apt-get 前面添加 sudo。

答案2

正如评论中提到的,我收到此错误是因为 Ubuntu 正在自动运行更新。以下是我验证它的方法

# apt-get update firefox
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (var/lib/dpkg/lock-frontend), is another process using it?

# lsof | grep lock-frontend
unattended  1601  root  11uW   REG   8,1    0   1207581  /var/lib/dpkg/lock-frontend
{{...more lines like this...}}

# ps all
{{...many lines but some mention dpkg, for example:}}
{{...}}  do_wait  Ss+  pts/1    0:00  /usr/bin/dpkg --status-{{...}}
{{...}}  do_wait  S+   pts/1    0:00  /bin/sh /var/lib/dpkg/i{{...}}

 # top
 {{ shows dpkg-related processes so you can see that they're doing something }}

一旦top停止显示与 dpkg 相关的进程 --- 就我而言仅仅 5 分钟后 --- 我就能apt-get正常使用。

相关内容