sudo apt-get更新失败-由于“权限被拒绝”而导致“无法打开”列表文件


25

在上个星期或更长时间里,运行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.

在浏览器地址栏中输入2个指定的URL之一会导致“找不到文件”(404)错误-但是如果我将.gz两个地址都追加,则可以下载各个文件。

但是,下载了这两个文件后,我不知道如何(或是否可以)使用它们。

寻求有关如何最好地进行的建议。

Answers:


39

该目录的内容是部分下载的列表(可能是APT中断了吗?),可以安全删除。

启动一个root shell,要知道您现在已经拥有对系统进行各种损坏的权限,因此请小心(我们需要这样做是因为会sudo rm出错)

sudo -i

删除目录的内容(仔细键入)并退出根shell:

rm /var/lib/apt/lists/partial/*
exit  

然后运行APT更新以重新生成软件包列表,并检查问题是否消失:

sudo apt update

1

最接近@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表单帖子

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.