apt-get升级错误

apt-get升级错误

在我的 VMware 机器上安装 Kali Linux 后,我尝试更新 resources.list 文件,但由于某种原因,在使用命令时 apt-get upgrade会导致错误,如下所示

E: 无法锁定 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录 (var/lib/dpkg/) 是否有另一个进程正在使用它?

apt-update命令有时有效,有时会导致禁止 IP 错误,无法连接 Linux 存储库。我的 Kali 存储库 resources.list 文件是:

德布http://http.kali.org/kalikali-rolling 主要非免费贡献

我不知道如何纠正这些错误,也找不到任何解决方案。

答案1

  • 第一条消息很容易处理:

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

此消息表明正在打开其他用于安装/卸载软件的程序。您应该找到该软件并将其关闭,然后重新启动系统。

  • 第二条错误消息很棘手:

E:无法锁定管理目录(var/lib/dpkg/)是另一个进程正在使用它吗?

解决此错误的方法之一是删除锁,但这是最后的手段,不建议。替代方案如下:当 apt 进程运行时放置锁,并在进程完成时删除锁。如果有锁且没有明显的进程在运行,这可能意味着该进程由于某种原因被卡住。尝试这个命令:

ps aux | grep apt

至少会捕获包含单词 apt 的进程。如果您看到 apt-get 进程或 aptitude 进程看起来卡住了,您可以尝试

kill <apt_process_ID>

如果这不起作用尝试

kill -9 <apt_process_ID>

这应该会终止进程并可能删除锁。终止 apt 或 aptitude 进程是无害的,除非它实际上是在软件包安装过程中。无论如何,如果进程卡住了,您可能别无选择,只能终止它。

直接终止 dpkg 进程(如果存在)并不是一个好主意,因为如果 dpkg 处于活动状态,则它可能正在操作程序包数据库,并且终止它可能会使程序包数据库处于不一致状态;即已损坏。

一般来说,杀死 apt-get 或 aptitude 进程要安全得多。

现在,如果前面的步骤失败,那么您必须删除锁(同样,这是最后的解决方案,不推荐)。

您可以使用以下命令删除锁定文件:

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

您可能还需要删除缓存目录中的锁定文件

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

之后,尝试再次打开 Synaptic 包管理器。

相关内容