apt-get如何处理多个来源?


8

假设Ubuntu的存储库具有一个软件包。

我使用安装该软件包apt-get

然后,我添加一个附加资源(带有add-apt-repository),其中列出了该软件包的新版本或旧版本。

apt-get会始终升级到最新版本,而不管哪个来源提供最新版本?

Answers:


10

APT将始终安装首选项未排除的最新版本。首选项在文件中/etc/apt/preferences(以及在下方的文件中/etc/apt/preferences.d)中指示。

某些存储库具有防止其软件包自动安装的配置。例如,Debian向后移植包含的发行文件(您可以在中找到/var/lib/apt/lists)包含

NotAutomatic: yes
ButAutomaticUpgrades: yes

如果您有完全相同的软件包的多个源(即,相同的软件包名称,相同的版本号),则从以下位置找到的第一个源下载APT /etc/apt/sources.list(或/etc/apt/sources.list.d/*;按字典顺序搜索文件,并在每个内部按顺序搜索源文件)。因此,请首先列出本地镜像。sources.list对于具有不同版本号的软件包,此顺序无关紧要。


因此,对于完全相同的软件包(相同的名称,相同的版本号),apt将按字母顺序搜索sources.list.d(及其子目录)?
Sajuuk

1
@Sajuuk sources.list首先,然后sources.list.d按字母顺序在文件中。在每个文件中,它按照文件中列出源的顺序搜索。
吉尔斯(Gillles)“所以-别再作恶了”

我知道,因为源可以存在于多个位置,例如/etc/apt/sources.list和./etc/apt/sources.list.d/*.list,所以我要问这些源的搜索顺序是什么?
Sajuuk

@Sajuuk查看我编辑过的评论(我在完成输入之前按Enter键)。
吉尔斯(Gilles)'“ SO-不要邪恶”
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.