【问题标题】:Yum installs wrong version of package with range requirementYum 安装了错误版本的包,有范围要求
【发布时间】:2018-03-22 14:29:00
【问题描述】:

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

在我们的安装过程中,我们尝试通过以下方式安装满足一定范围的版本:yum install "my-package < 3.0.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   

有什么方法可以找出为什么它没有安装更高版本?

【问题讨论】:

    标签: centos rpm yum


    【解决方案1】:

    我猜是因为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
    

    【讨论】:

      猜你喜欢
      • 2016-12-21
      • 2012-12-22
      • 2018-12-17
      • 2014-12-20
      • 2017-10-04
      • 1970-01-01
      • 2016-09-25
      • 1970-01-01
      • 2011-07-03
      相关资源
      最近更新 更多