複数の yum リポジトリから最新バージョンのパッケージを取得できない

複数の yum リポジトリから最新バージョンのパッケージを取得できない

CentOS 8.1.1911 には 2 つの rpm リポジトリがあります。詳細は次のとおりです。

# virt-1.repo
[appstream]
name=CentOS Linux 8-stream - AppStream
baseurl=http://mirrors.ustc.edu.cn/centos/8-stream/AppStream/$basearch/os/
gpgcheck=0
enabled=1
# virt-2.repo
[centos-advanced-virtualization]
name=CentOS Linux 8-stream - Advanced Virtualization
baseurl=http://mirrors.ustc.edu.cn/centos/8-stream/virt/$basearch/advancedvirt-common/
gpgcheck=0
enabled=1

2 つのリポジトリの両方にパッケージが含まれておりlibvirt、リポジトリには新しいものがありますcentos-advanced-virtualization。私の操作は次のとおりです。

  1. yum clean all && yum makecache
  2. yum list libvirt --showduplicates、しかし、私は古いものを入手しましたappstream
# yum list libvirt --showduplicates
Last metadata expiration check: 0:00:18 ago on Sun 26 Sep 2021 05:22:42 PM CST.
Available Packages
libvirt.x86_64                                                 6.0.0-35.module_el8.5.0+746+bbd5d70c                                                 appstream
libvirt.x86_64                                                 6.0.0-36.module_el8.5.0+821+97472045                                                 appstream
  1. アプリストリームを削除、mv virt-1.repo virt-1.repo.bak && yum makecache
  2. yum list libvirt --showduplicates、そして新しいものはここから入手できますcentos-advanced-virtualization
# yum list libvirt --showduplicates
Last metadata expiration check: 0:00:30 ago on Sun 26 Sep 2021 05:26:08 PM CST.
Available Packages
libvirt.x86_64                                                  7.0.0-9.el8s                                                   centos-advanced-virtualization
libvirt.x86_64                                                  7.0.0-13.el8s                                                  centos-advanced-virtualization
libvirt.x86_64                                                  7.0.0-14.el8s                                                  centos-advanced-virtualization
libvirt.x86_64                                                  7.4.0-1.el8s                                                   centos-advanced-virtualization
libvirt.x86_64                                                  7.5.0-1.el8s                                                   centos-advanced-virtualization
libvirt.x86_64                                                  7.6.0-2.el8s                                                   centos-advanced-virtualization

では、なぜ最初から新しいものを入手できないのでしょうか? 何か見逃したのでしょうか?

答え1

私はこの問題をここ:

DNF が MariaDB を AppStream からインストールしようとする主な理由は、モジュール パッケージが優先されるためです。つまり、特定のパッケージ (名前) または仮想プロバイダーがモジュールの一部であり、他のリポジトリから同じ名前のパッケージが利用可能で、それらがモジュールの一部ではない場合、DNF は常にモジュール リポジトリからパッケージをインストールしようとします。

そのため、最新バージョンのパッケージを入手できません。次のようにlibvirt更新すると、すべて正常になります。virt-2.repo

# virt-2.repo
[centos-advanced-virtualization]
name=CentOS Linux 8-stream - Advanced Virtualization
baseurl=http://mirrors.ustc.edu.cn/centos/8-stream/virt/$basearch/advancedvirt-common/
gpgcheck=0
enabled=1
module_hotfixes=1

最新バージョンを入手できますlibvirt:

# yum list libvirt --showduplicates
Last metadata expiration check: 0:45:51 ago on Mon 27 Sep 2021 06:53:12 PM CST.
Available Packages
libvirt.x86_64                                              6.0.0-35.module_el8.5.0+746+bbd5d70c                                               appstream     
libvirt.x86_64                                              6.0.0-36.module_el8.5.0+821+97472045                                               appstream     
libvirt.x86_64                                              7.0.0-9.el8s                                                                       Virtualization
libvirt.x86_64                                              7.0.0-13.el8s                                                                      Virtualization
libvirt.x86_64                                              7.0.0-14.el8s                                                                      Virtualization
libvirt.x86_64                                              7.4.0-1.el8s                                                                       Virtualization
libvirt.x86_64                                              7.5.0-1.el8s                                                                       Virtualization
libvirt.x86_64                                              7.6.0-2.el8s                                                                       Virtualization

関連情報