APT 如何选择要安装的软件包?

APT 如何选择要安装的软件包?

在我的 Debian 测试盒中,我有以下内容/etc/apt/sources.list

deb http://ftp.us.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.us.debian.org/debian/ testing main contrib non-free

deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://security.debian.org/ testing/updates main contrib non-free

deb http://ftp.us.debian.org/debian/ testing-updates main contrib non-free
deb-src http://ftp.us.debian.org/debian/ testing-updates main contrib non-free

deb http://us.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse proposed partner
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse

deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse proposed partner
deb-src http://us.archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse

然后假设我跑了sudo apt install libre-office。我看到它从 中选择了一些必需的包,ftp.us.debian.org还有一些从us.archive.ubuntu.com. APT 如何决定从哪个来源获取每个包?

答案1

该算法在手册页中有详细描述apt_preferences。简而言之,apt 根据命令行选项、配置和已安装的软件包计算它所知道的每个版本的分数。然后它会安装得分最高的版本。

您可以通过为显式源指定显式分数来调整内容,如同一手册页中所述。

顺便说一句,像这样混合 Debian 和 Ubuntu 版本的效果不太可能很好。我建议反对。

相关内容