
В моем 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
. Моя операция следующая:
yum clean all && yum makecache
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
- удалить appstream,
mv virt-1.repo virt-1.repo.bak && yum makecache
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