百胜安装错误版本的包与范围要求
Yum installs wrong version of package with range requirement
我有一个半复杂的设置,其中包含多个存储库,其中包含相同的包(有一个单独的团队管理实际的存储库)。
在我们的安装过程中,我们试图通过以下方式安装满足某个范围的版本:yum install "my-package < 3.0.0"
在上周之前一直运行良好,安装了 < 3.0.0(即 2.5)的最大版本。但是,它突然开始安装 2.1.0 版。有没有办法检查为什么它开始了?
当我执行 yum --showduplicates list my-package
时,它会得到以下信息,所以它似乎应该可用:
Installed Packages
my-package.x86_64 2.1.0-1 @codex-released
Available Packages
my-package.x86_64 0.12.0-1 codex-released
my-package.x86_64 1.0.0-1 codex-released
my-package.x86_64 2.1.0-1 codex-released
my-package.x86_64 2.2.0-1 codex-released
my-package.x86_64 2.3.0-1 codex-released
my-package.x86_64 2.4.0-1 codex-testing
my-package.x86_64 2.4.1-1 codex-released
my-package.x86_64 2.4.2-1 codex-testing
my-package.x86_64 2.5.0-1 codex-testing
my-package.x86_64 2.5.1-1 artifactory-testing
my-package.x86_64 3.0.0-1 artifactory-testing
my-package.x86_64 3.0.0-1 codex-testing
有什么方法可以找出为什么它没有安装更高版本吗?
我猜是因为Epoch。有些工具根本不显示它。比较:
$ rpm -q nmap
nmap-7.60-7.fc27.x86_64
并且只有询问详情才能看到:
$ rpm -q --qf "%{epoch}:%{version} %{name}\n" nmap
2:7.60 nmap
$ rpm -qi nmap |grep Epoch
Epoch : 2
但是时代覆盖了版本。参见:
$ rpmdev-vercmp 3.0.0 1:2.1.0
3.0.0 < 1:2.1.0
我有一个半复杂的设置,其中包含多个存储库,其中包含相同的包(有一个单独的团队管理实际的存储库)。
在我们的安装过程中,我们试图通过以下方式安装满足某个范围的版本:yum install "my-package < 3.0.0"
在上周之前一直运行良好,安装了 < 3.0.0(即 2.5)的最大版本。但是,它突然开始安装 2.1.0 版。有没有办法检查为什么它开始了?
当我执行 yum --showduplicates list my-package
时,它会得到以下信息,所以它似乎应该可用:
Installed Packages
my-package.x86_64 2.1.0-1 @codex-released
Available Packages
my-package.x86_64 0.12.0-1 codex-released
my-package.x86_64 1.0.0-1 codex-released
my-package.x86_64 2.1.0-1 codex-released
my-package.x86_64 2.2.0-1 codex-released
my-package.x86_64 2.3.0-1 codex-released
my-package.x86_64 2.4.0-1 codex-testing
my-package.x86_64 2.4.1-1 codex-released
my-package.x86_64 2.4.2-1 codex-testing
my-package.x86_64 2.5.0-1 codex-testing
my-package.x86_64 2.5.1-1 artifactory-testing
my-package.x86_64 3.0.0-1 artifactory-testing
my-package.x86_64 3.0.0-1 codex-testing
有什么方法可以找出为什么它没有安装更高版本吗?
我猜是因为Epoch。有些工具根本不显示它。比较:
$ rpm -q nmap
nmap-7.60-7.fc27.x86_64
并且只有询问详情才能看到:
$ rpm -q --qf "%{epoch}:%{version} %{name}\n" nmap
2:7.60 nmap
$ rpm -qi nmap |grep Epoch
Epoch : 2
但是时代覆盖了版本。参见:
$ rpmdev-vercmp 3.0.0 1:2.1.0
3.0.0 < 1:2.1.0