centos - Yum 安装了错误版本的包,有范围要求

标签 centos rpm yum

我有一个半复杂的设置,其中包含多个存储库,其中包含相同的包(由一个单独的团队管理实际的存储库)。

在我们的安装过程中,我们尝试通过执行以下操作来安装满足某个范围的版本: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

关于centos - Yum 安装了错误版本的包,有范围要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49431251/

相关文章:

php - 启用 PHP7 Opcache

CentOS机器安装JMeter显示错误

linux - PID 文件/usr/local/apache2/logs/httpd.pid 启动后不可读(还?)

python - Centos 7 - 没有名为 yum 的模块 - 意外删除了 Python 站点包

linux - 在 CentOS 8 上从本地存储库安装 yum 时出错

linux - 优化基于MAC地址匹配提取子串的bash脚本

linux - 在源压缩包中嵌入二进制 rpm

centos - 规范文件中的 pkgconfig(alsa) 无法识别已安装的 alsa、alsa-devel

cmake - 如何在 CMakeLists.txt 中禁用 CPACK_PACKAGE_VERSION_PATCH?

linux - 尝试在 Scientific Linux 6.2 版上安装 oracle