
Hay dos repositorios rpm en mi CentOS 8.1.1911. Los detalles son los siguientes:
# 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
Los dos repositorios contienen el paquete libvirt
y hay uno más nuevo en el repositorio centos-advanced-virtualization
. Mi operación es la siguiente:
yum clean all && yum makecache
yum list libvirt --showduplicates
, pero obtengo el mayor deappstream
# 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
- eliminar flujo de aplicaciones,
mv virt-1.repo virt-1.repo.bak && yum makecache
yum list libvirt --showduplicates
, y puedo conseguir el más nuevo decentos-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
Entonces, ¿por qué no puedo conseguir el más nuevo al principio? ¿Me he perdido algo?
Respuesta1
Resolví este problema desdeaquí:
La razón principal por la que DNF quiere instalar MariaDB desde AppStream es que tiene preferencia por los paquetes modulares. Lo que significa que si paquetes (nombres) específicos o suministros virtuales son parte de un módulo, y hay paquetes con los mismos nombres disponibles en otros repositorios y no son parte del módulo, entonces DNF siempre querrá instalar paquetes desde el depósito modular.
Por eso no puedo obtener la última versión libvirt
del paquete. Después de actualizar mi virt-2.repo
de la siguiente manera, todo está bien:
# 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
Puedo obtener la última versión 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