📅  最后修改于: 2023-12-03 15:00:33.942000             🧑  作者: Mango
在使用apt-get命令获取/更新软件包时,可能会遇到以下类似的错误信息:
E: 无法获取锁 /var/cache/apt/archives/lock - open (11: 资源暂时不可用)
E: 无法锁定下载目录
这个问题的原因是:在更新软件包的过程中,一个进程正在使用apt相关的文件或目录,导致后续的apt操作无法执行。
这个问题通常是暂时的,你可以等待几分钟再试一次。如果你的网络连接比较慢,下载更新包可能需要一些时间。如果你同时在做其他事情,例如编译程序或者使用sudo命令等,则可能会延长等待时间。在等待期间,请不要终止其他进程。
如果等待无效,你可以尝试杀死正在使用apt相关文件或目录的进程。可以通过运行以下命令来查找正在使用这些文件或目录的进程:
sudo lsof /var/lib/dpkg/lock /var/lib/apt/lists/*/* /var/cache/apt/archives/lock
该命令会列出所有正在使用这些文件或目录的进程。你可以使用以下命令来杀死这些进程:
sudo kill -9 <PID>
其中,<PID>
是进程的ID号。你可以在上面的输出结果中找到进程的ID号。
杀死进程后,尝试再次运行apt-get命令。如果仍然存在问题,请继续阅读以下方法。
如果杀死进程也无效,你可以尝试手动删除锁定文件。在Ubuntu发行版中,这些文件通常位于以下位置:
/var/lib/dpkg/lock
/var/lib/apt/lists/lock
/var/cache/apt/archives/lock
你可以使用以下命令来删除这些文件:
sudo rm /var/lib/dpkg/lock
sudo rm /var/lib/apt/lists/lock
sudo rm /var/cache/apt/archives/lock
然后,尝试再次运行apt-get命令。
如果上面的方法都无效,你可能需要等待一段时间,直到APT缓存自动解锁。APT缓存会在以下情况下自动解锁:
你可以等待几分钟再重试apt-get命令。
通过以上四种方法,你可以尝试解决E: 无法获取锁 /var/cache/apt/archives/lock的问题。如果这些方法仍然无效,请考虑重启系统以重置APT。