你知道,每次在 Ubuntu 12.04 中更新存储库时,Universe 存储库都会将其所有内容下载到你的计算机中,无论它们是否与上次更新时相比有所更改。在像我这样的互联网连接速度太慢的国家,这会引起一些问题。
有没有办法将内容下载限制在它们真正发生变化的时间,就像其他存储库一样?
我不想禁用 Universe 存储库,我只想让它像其他存储库一样对待,而不是每次我“apt-get update”时都下载
答案1
这是一个常见的漏洞在 ubuntu 12.04 上。
解决方法:
由于受影响的存储库是未更改的分发存储库,因此避免此问题的一种方法是在运行之前立即运行以下命令sudo apt-get update
。 请务必根据您使用的存档站点的名称以及您正在使用的版本的名称调整它们。 并非每个人都需要所有四个命令 - 请参阅命令末尾的注释。 不要将它们用于开发版本。
sudo touch /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_precise_main_binary-i386_Packages
- `sudo touch /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_precise_universe_binary-i386_Packages
如果你已启用 Ubuntu Universe`
- `sudo touch /var/lib/apt/list/us.archive.ubuntu.com_ubuntu_dists_precise_main_source_Sources
如果您已启用来源`
- `sudo touch /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_precise_universe_source_Sources
如果您同时启用了 Universe 和 sources`
这些命令通过更新存档文件上的时间来告诉系统这些文件是最新的。不要在其他存储库上运行这些命令,或者在修复错误后运行这些命令。
即使问题已解决,如果您定期运行 apt-get 并且互联网连接速度较慢或费用昂贵,那么考虑如何在运行 apt-get 时减少带宽也是有意义的。
较少地运行更新可能是有意义的,或者,选择一个比主存储库更新频率较低的存储库。
许多软件源列表中都包含“源”存储库。这对于执行 apt-get source 非常有用包裹名字,但这可能有点过时了。
除非你每天都获取源代码,否则你可以考虑删除源设置,然后再次启用它,并且仅在需要下载某些源代码时才进行更新。各种软件包的源代码总是在变化,因此要下载的索引也总是在变化。
另一个解决方法是仅更新感兴趣的索引文件:
大多数情况下,我们会更新软件包列表以添加 PPA。因此,这是一个解决方法
创建一个文件并将
/etc/apt/apt.conf.d/99mysettings
此
行放入文件中Apt::Get::List-Cleanup 'false';
。如何 ?:在终端中输入这些内容
sudo gedit /etc/apt/apt.conf.d/99mysettings
。解释:这会导致
apt-get
不删除已经下载的索引文件。apt-get update
然后在终端中运行命令。等到它结束。最后,再次启用几分钟前禁用的所有存储库。现在,您已使用所有以前的索引更新了 PPA 索引。
另一个选择是切换到镜像,而不是使用 us.archive.ubuntu.com
有许多镜像不定期更新索引(可能一周一次)。我通过切换到那个特定的镜像解决了这个问题。
你可以找到你附近的镜子看看是否有帮助。
希望这会有所帮助。
来源:这里