Невозможно получить пакет последней версии из нескольких репозиториев yum

Невозможно получить пакет последней версии из нескольких репозиториев yum

В моем CentOS 8.1.1911 есть два репозитория 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

Оба репозитория содержат пакет 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. удалить appstream,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

Связанный контент