关于ubuntu:解决-Ubuntu-Could-not-get-lock-varlibdpkglock-错误

3次阅读

共计 1463 个字符,预计需要花费 4 分钟才能阅读完成。

最近,我遇到了“Could not get lock /var/lib/dpkg/lock”的谬误,我既不能装置任何软件包,也不能更新零碎。此谬误也与“Could not get lock /var/lib/apt/lists/lock”谬误密切相关。以下是 Ubuntu 20.04 上的一些样本输入。

Reading package lists... Done
E: Could not get lock /var/lib/apt/lists/lock. It is held by process 3620 (apt)
N: Be aware that removing the lock file is not a solution and may break your system.
E: Unable to lock directory /var/lib/apt/lists/

这可能会十分令人丧气,常常会让你陷入困境,无奈更新、降级或装置任何软件包。

是什么导致了这个谬误

正如谬误所提醒的那样,另一个过程正在应用 /var/lib/dpkg/lock 或 /var/lib/dpkg/lock 文件。当您有 2 个或多个终端运行零碎更新或降级时,就会产生这种状况。当您过早地勾销或以其余形式更新 / 降级时,也可能产生这种状况。

如果遇到这种谬误,齐全没有必要惊恐,让咱们探讨一些解决方案。

(1) 敞开所有正在应用 APT 管理器的过程

列出应用 apt 包管理器的过程

$ ps aux | grep - i apt

完结正在应用 apt 包管理器的过程

$ sudo kill -9 3619
$ sudo kill -9 3620

再次应用 ps 命令,验证过程是否完结,如果它们都已革除,就能够持续更新零碎。

(2) 删除锁定文件

在某些状况下,根本原因可能是锁文件。锁文件阻止两个或多个过程拜访雷同的数据。当您运行 apt 或 apt-get 命令时,通常会创立一个锁文件。然而,如果最新的 apt 命令没有胜利执行 (即忽然终止),锁文件将持续存在并阻止任何后续的 apt 或 apt-get 实例。

解决“Could not get lock /var/lib/apt/lists/lock”谬误

$ sudo rm /var/lib/apt/lists/lock

解决“Could not get lock /var/lib/dpkg/lock”谬误

$ sudo rm /var/lib/dpkg/lock

其余时候,您可能会遇到“/var/lib/dpkg/lock-frontend error”的谬误。这意味着以后正在运行应用 APT / DPKG 的图形应用程序,这可能是应用 Gdebi 或 Synaptic 包管理器造成的。

即时的补救措施是退出或关闭程序,并再次尝试。如果没有成果,可是尝试删除 /var/lib/dpkg/lock-frontend 文件。

$ sudo rm /var/lib/dpkg/lock-frontend

删除 lock-frontend 文件可能会再次导致“Could not get lock /var/lib/dpkg/lock”谬误,因而,您将不得不持续删除相干锁定文件。

$ sudo rm /var/lib/dpkg/lock

如果您碰巧会呈现无关 apt-cache lock 的谬误,例如 /var/cache/apt/archives/lock,请删除相干锁定文件。

$ sudo rm /var/cache/apt/archives/lock
$ sudo rm /var/lib/dpkg/lock

我的开源我的项目

  • course-tencent-cloud(酷瓜云课堂 – gitee 仓库)
  • course-tencent-cloud(酷瓜云课堂 – github 仓库)
正文完
 0