修复 Ubuntu 中无法获取锁定 /var/lib/dpkg/lock 错误的 5 种方法
我们解释了一些步骤和方法,您可以通过它们快速修复 Ubuntu Linux 中常见的无法获取锁 /var/lib/dpkg/lock 错误。
背景故事
它发生的次数超乎你的想象。一个美好的早晨,您启动了闪亮的 Ubuntu Linux,并尝试安装一些东西或升级您的系统。你遇到了这个错误 - “无法获取锁 /var/lib/dpkg/lock ....”。
原因?原因很简单,发生在“高级打包工具(apt)”中。当您要求 apt 包工具执行某些操作时,它正忙于执行其他操作。当 apt 执行某些包操作时,它会创建一个锁定文件来防止这种情况。根据操作系统原则,在执行系统升级/更新时应锁定关键资源,以便其他进程无法访问它。这是为了防止任何不需要的系统行为。
此错误有多种变体。但根本原因和我上面描述的一样。
以下是一些错误。
一些示例错误
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 10162 (unattended-upgr)E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lock directory /var/lib/apt/lists/
示例无法获取锁定错误
如何修复:无法获取锁定错误
方法一(推荐)
解决此问题最安全且推荐的方法是等待。由于 apt 在后台运行,因此最好等待几分钟。然后,您可以尝试执行该操作。大多数时候,它通过让系统处理来解决问题。
方法二
第二种方法是手动删除锁定文件。这需要管理员权限。打开终端提示符并运行以下命令以清除锁定。
运行该命令后,尝试执行导致错误的操作。你应该没事。
sudo rm -f /var/lib/dpkg/lock方法三
第三种方法是手动找到apt的进程ID,持有锁并终止它。
您可以使用以下命令过滤所有具有 apt 的进程。
ps aux | grep aptapt 的进程 ID 和进程列表
完成此操作后,您可以获得进程 ID(上图中的第二列)并使用以下示例命令终止它。
kill -9 processnumber方法4
第四种方法是禁用每日自动更新检查计时器systemd服务来尝试您的操作。为此,请打开终端并使用以下命令禁用该服务。
sudo systemctl stop apt-daily.timer现在,重新启动系统并尝试您的操作。如果一切就绪并且错误消失,您可以使用以下命令再次启用计时器服务。你应该已经准备好了。
sudo systemctl start apt-daily.timer方法5
最后一种方法专门针对 apt lock 文件附带的其他错误。
如果错误包含类似“E:无法锁定目录 /var/lib/apt/lists/”之类的行,请尝试以下命令。
sudo rm /var/lib/apt/lists/* -vf最后,如果不起作用,请尝试使用以下命令清除 apt 存档锁。
sudo rm -f /var/cache/apt/archives/lock所以,仅此而已。
包起来
在本文中,我解释了解决 Ubuntu Linux 和相关发行版中此典型错误的各种方法。我确信其中任何一种方法都应该适合您。
请在评论框中让我知道哪个命令适合您,以造福他人。

