“apt-cache policy”的多个输出“

“apt-cache policy”的多个输出“

据我了解,apt-cache policy <package name>显示固定顺序,从而显示 apt 存储库中可用的版本package name及其优先级顺序。

因此,如果对于未安装的软件包,输出包含各种版本(优先级相同,为 500),那么哪一个将是要安装的版本?

例如, $ apt-cache policy git得出的结果是:

 Installed: (none)
 Candidate: 1:2.25.1-1ubuntu3.2
 Version table:
    1:2.25.1-1ubuntu3.2 500
       500 http://in.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
       500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
    1:2.25.1-1ubuntu3 500
       500 http://in.archive.ubuntu.com/ubuntu focal/main amd64 Packages

那么,运行$ sudo apt install git将在我的系统中安装哪个版本?

答案1

“候选”表示将要安装的版本。

如果不同的存储库有不同的版本,则始终使用最高版本。就您的问题而言,它来自您手动启用的“focal-updates/main”存储库。如果您想要当前版本而不是反向移植,请禁用它。

答案2

在两个版本之间进行选择:

1:2.25.1-1ubuntu3.2
1:2.25.1-1ubuntu3

版本 x3.2 高于 x3,因此1:2.25.1-1ubuntu3.2将被安装...除非你的系统上存在问题需要版本 x3。


在提供相同版本的不同口袋之间进​​行选择:

500 http://in.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages

哈——这是一个棘手的问题:存储库的结构使得所有包都位于一个目录 (/pool)。这两行都指向同一个包在游泳池。

相关内容