sudo apt-get update 失败 - 由于“权限被拒绝”,“无法打开”列表文件

sudo apt-get update 失败 - 由于“权限被拒绝”,“无法打开”列表文件

在过去一周或更长时间里,运行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 表单发布

相关内容