回购偏好如何?

回购偏好如何?

如果两个 repos 中存在相同的软件(不同版本),则都添加

来源列表

那么当我运行安装命令时哪一个会被安装

apt-get 安装 x

此外,如果两个 repo 都提供同名的应用程序,我该如何选择一个 repo 而不是另一个?

答案1

(此答案基于 Ubuntu 的默认设置,具有默认存储库首选项)

如果同一个软件有不同的版本,Apt 将始终尝试使用受依赖性约束的最新版本的软件。

*请注意,Apt 还会查看存储库的优先级,如果优先级较高的存储库版本较低,Apt 将不会升级该软件包。在默认的 Ubuntu 安装中,所有启用的存储库的优先级均为 500,但 backport 存储库除外,其优先级为 100。因此,如果软件在 backport 存储库中有更高版本的软件包,则不会使用sudo apt-get install x命令升级该软件。您需要使用以下命令明确告诉 apt 使用该存储库:sudo apt-get install x/precise-backports。*

但是,如果两个 repo 提供相同版本的相同软件,那么 Apt 将从文件中第一个出现的存储库中安装软件sources.list

我引用的是apt_preference 手册页

   Several instances of the same version of a package may be available
   when the sources.list(5) file contains references to more than one
   source. In this case apt-get downloads the instance listed earliest in
   the sources.list(5) file. The APT preferences file does not affect the
   choice of instance, only the choice of version.

答案2

这取决于哪个版本在哪里可用。要查看将安装哪个版本,并添加相关存储库,您可以运行apt-cache policy x,以遵循您的示例,它将显示已安装的版本和候选版本(如果您安装或升级,则将安装该版本)。

相关内容