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

Goo*_*ite 166 package-management apt dpkg sudo lock

我正在尝试在终端中运行此命令:

sudo apt install software-properties-common
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误消息:

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

Vij*_*jay 285

这可能发生,如果

  1. “Synaptic Package Manager”或“Software Updater”已打开。

  2. 一些 apt 命令正在终端中运行。

  3. 一些 apt 进程正在后台运行。

对于上述等待过程完成。如果这没有发生在终端中运行:

sudo killall apt apt-get
Run Code Online (Sandbox Code Playgroud)

如果上述方法均无效,请删除锁定文件。在终端运行:

sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock*
Run Code Online (Sandbox Code Playgroud)

然后重新配置包。在终端运行:

sudo dpkg --configure -a
Run Code Online (Sandbox Code Playgroud)

sudo apt update
Run Code Online (Sandbox Code Playgroud)

那应该可以完成这项工作。

  • @CaTx 此链接将告诉您提供的解决方案背后发生了什么 https://itsfoss.com/could-not-get-lock-error/ (10认同)
  • 就我而言,机器启动得稍早一些,我遇到了这个问题。大约十分钟后我再次尝试(因为我正在查看情况)那次它运行正常。我对这个答案投了赞成票,但建议强调在解锁之前尝试等待。还有@Manish Jain - 谢谢!下次我遇到类似问题时,收集一些信息的提醒会有所帮助!干杯! (3认同)
  • 做了所有这些,仍然收到错误。 (3认同)

小智 14

重新启动操作系统可以杀死所有不完整的进程。

尝试sudo reboot

系统重新启动后,应该可以正常工作。


小智 5

为我终止进程 - 例如,我收到此错误:

'E: Could not get lock /var/lib/apt/lists/lock. It is held by process 7913 (jammy)'
Run Code Online (Sandbox Code Playgroud)

运行 sudo Kill 7913 对我有用。

  • 仅当用户绝对确定没有其他包管理器处于活动状态后才应终止该进程。否则该用户可以轻松破坏他们的系统。锁定文件是为了保护系统——不要轻易禁用该保护。 (3认同)