如何解决 Ubuntu 中的“E:无法获取锁 /var/lib/dpkg/lock”错误

如果您是 Ubuntu/Debian 的普通用户,您可能会在某个时间点遇到错误:’无法获得锁 /var/lib/dpkg/lock‘。 这恰好与错误有关 ‘无法获得锁 /var/lib/apt/lists/lock’. 下面是显示此类错误的屏幕截图。

这是一个非致命错误,通常不是引起关注的主要原因。 正如我们稍后将演示的那样,它可以很容易地解决。 但首先是什么原因造成的呢? 让我们来了解一下。

错误原因

此错误的常见原因是当进程使用 APT 包管理器更新/升级/安装软件或在系统上执行某些包管理时。 发生这种情况时,该进程使用锁定文件锁定 dpkg 文件,这样另一个进程不会更改可能导致错误和系统中关键文件损坏的数据。

每当您遇到此错误时,很有可能有另一个同时运行的进程正在运行 APT。 这可能是在另一个终端上同时运行的进程。 由于在终端上按 CTRL + C 或意外关闭终端窗口而提前终止的更新或升级过程中断,也可能发生该错误。

如何解决无法获取锁 /var/lib/dpkg/lock 错误

这里有一些技巧可以帮助纠正错误并帮助您重新使用 APT 包管理器。

等待过程完成

如果您有另一个终端会话,其中 APT 包管理器正在被更新或升级系统或安装应用程序等命令使用,请让操作成功完成。 完成后,您可以运行所需的命令并使用 APT 执行任何其他操作。

使用 APT 包管理器终止进程

如果您使用 APT 中断了进程,例如取消升级或更新包索引,请首先使用显示的 ps 命令识别使用 APT 的进程:

$ ps aux | grep -i apt