在过去一周或更长时间里,运行sudo apt-get update
最终导致错误:
Reading package lists... Done
E: Failed to fetch http://au.archive.ubuntu.com/ubuntu/dists/xenial/main/dep11/Components-amd64.yml
Could not open file /var/lib/apt/lists/partial/au.archive.ubuntu.com_ubuntu_dists_xenial_main_dep11_Components-amd64.yml.gz - open (13: Permission denied) [IP: 202.158.214.106 80]
E: Failed to fetch http://au.archive.ubuntu.com/ubuntu/dists/xenial-backports/main/dep11/icons-64x64.tar Could not open file /var/lib/apt/lists/partial/au.archive.ubuntu.com_ubuntu_dists_xenial-backports_main_dep11_icons-64x64.tar.gz - open (13: Permission denied) [IP: 202.158.214.106 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.
在浏览器地址栏中输入两个指定的 URL 中的任意一个都会导致“找不到文件”(404)错误 - 但如果我将这.gz
两个地址附加到一起,则可以下载相应的文件。
然而,下载了这两个文件后,我不知道如何(或是否)可以使用它们。
寻求有关如何最好地进行的建议。
答案1
该目录的内容是部分下载的列表(也许 APT 被中断了?),可以安全删除。
启动 root shell,注意你现在有权限对系统进行各种破坏,所以要小心(我们需要这样做因为sudo rm
会出现错误)
sudo -i
删除目录的内容(小心输入)并退出 root shell:
rm /var/lib/apt/lists/partial/*
exit
然后运行 APT 更新来重新生成包列表并检查问题是否消失:
sudo apt update
答案2
最接近的解决方案@Zanna 回答但在从 APT 列表文件夹中删除部分文件之前,请先将旧的 APT 列表文件夹保存为备份。
第一个干净的 APT
sudo apt-get clean
备份 APT 列表文件夹
sudo cp -r /var/lib/apt/lists /var/lib/apt/lists.old
从 APT 列表文件夹中删除部分文件夹
sudo rm -rf /var/lib/apt/lists/partial/
然后清理并更新APT
sudo apt-get clean
sudo apt-get update
资料来源Ubuntu 表单发布