据我了解,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)。这两行都指向同一个包在游泳池。