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
正常使用。