将新的 ppa 添加到存储库后,是否需要更新整个数据库?我说的“整个数据库”是指是否需要更新每个包的索引?
如果没有必要,那么我怎样才能仅更新刚刚添加到存储库中的 ppa 的特定包。
例如,
如果我在终端中输入以下内容来添加 ppa,
sudo add-apt-repository ppa:tiheum/equinox
然后我们通常在它之后运行以下命令,
sudo apt-get update
但是我如何才能更新与上述 ppa 关联的唯一包,而不是更新整个数据库。
答案1
很抱歉,但据我所知,你必须完成全部工作apt-get update
。
如果其他存储库没有更改,则不应再次下载它们。需要检查存档服务器上的文件的日期和时间是否比计算机上已有的文件更新。如果它们已更改,迟早都会被下载。
除了那些运行开发版本的个人之外,发生很大变化的存储库非常小(包含稳定版本更新的更新和安全修复是我想到的两个存储库)。
开发版本比较特殊,因为包含每个主要软件包的主存储库每天都会更改几次。主存储库在发布前会冻结。
但是,您不需要升级所有内容——您可以选择只升级您想要的软件包。
答案2
是的,添加 PPA 后你需要这样做sudo apt-get update
。但如果你关心下载数据或只想从 PPA 更新索引文件,那么你可以使用一个技巧来防止这种情况发生。
我使用这个技巧是为了避免不必要地更新软件包列表,请参阅这个问题关于此事。
仅更新感兴趣的索引文件的解决方法:
大多数情况下,我们会更新软件包列表以添加 PPA。因此,这是一个解决方法
创建一个文件并将
/etc/apt/apt.conf.d/99mysettings
此
行放入文件中Apt::Get::List-Cleanup 'false';
。如何 ?:在终端中输入这些
sudo gedit /etc/apt/apt.conf.d/99mysettings
解释:这会导致
apt-get
不删除已经下载的索引文件。
打开后,参见下图进行操作software-properties-gtk
。
apt-get update
然后在终端中运行命令。等到它结束。最后,再次启用几分钟前禁用的所有存储库。现在,您已使用所有以前的索引更新了 PPA 索引
希望这会有所帮助。