GNU/Linux >> Tutoriales Linux >  >> Cent OS

“no se puede instalar el mejor candidato de actualización para el paquete” – error al ejecutar la actualización dnf

El problema

La ejecución del comando 'dnf update' falla con el siguiente error:

# dnf update

Error:
Problem 1: package perl-4:5.26.3-419.el8.x86_64 requires perl-interpreter(x86-64) = 4:5.26.3-419.el8, but none of the providers can be installed
- cannot install both perl-interpreter-4:5.26.3-419.el8_4.1.x86_64 and perl-interpreter-4:5.26.3-419.el8.x86_64
- cannot install the best update candidate for package perl-interpreter-4:5.26.3-419.el8.x86_64
- cannot install the best update candidate for package perl-4:5.26.3-419.el8.x86_64
Problem 2: package perl-devel-4:5.26.3-419.el8.x86_64 requires perl-libs(x86-64) = 4:5.26.3-419.el8, but none of the providers can be installed
- cannot install both perl-libs-4:5.26.3-419.el8_4.1.x86_64 and perl-libs-4:5.26.3-419.el8.x86_64
- cannot install the best update candidate for package perl-libs-4:5.26.3-419.el8.x86_64
- cannot install the best update candidate for package perl-devel-4:5.26.3-419.el8.x86_64
Problem 3: perl-libs-4:5.26.3-419.el8.i686 has inferior architecture
- package perl-utils-5.26.3-419.el8.noarch requires perl-libs = 4:5.26.3-419.el8, but none of the providers can be installed
- cannot install both perl-libs-4:5.26.3-419.el8_4.1.x86_64 and perl-libs-4:5.26.3-419.el8.x86_64
- package perl-Errno-1.28-419.el8_4.1.x86_64 requires perl-libs(x86-64) = 4:5.26.3-419.el8_4.1, but none of the providers can be installed
- cannot install the best update candidate for package perl-utils-5.26.3-419.el8.noarch
- cannot install the best update candidate for package perl-Errno-1.28-419.el8.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Intentar actualizar los paquetes informados anteriormente de forma individual también da como resultado un error similar.

# dnf update perl-interpreter

Error:
Problem: problem with installed package perl-4:5.26.3-419.el8.x86_64
- package perl-4:5.26.3-419.el8.x86_64 requires perl-interpreter(x86-64) = 4:5.26.3-419.el8, but none of the providers can be installed
- cannot install both perl-interpreter-4:5.26.3-419.el8_4.1.x86_64 and perl-interpreter-4:5.26.3-419.el8.x86_64
- cannot install the best update candidate for package perl-interpreter-4:5.26.3-419.el8.x86_64
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages) 

Borrar el caché dnf "dnf clean all" no supuso ninguna diferencia.

# dnf clean all

La solución

En este caso, el paquete perl-interpreter y perl-libs está causando un problema. Esto podría deberse a algún problema de metadatos con estos paquetes. Ejecute los siguientes comandos para solucionar el problema.

1. Ejecute el siguiente comando y vea si la actualización continúa. Si aún no se actualiza, esto nos ayuda a identificar el paquete que no se puede eliminar con la opción '-best-allowerasing'. En este caso, es el paquete perl-libs el que sigue bloqueando la actualización.

# dnf update --best --allowerasing
Error:
Problem: cannot install the best update candidate for package perl-4:5.26.3-419.el8.x86_64
- problem with installed package perl-4:5.26.3-419.el8.x86_64
- package perl-4:5.26.3-419.el8.x86_64 requires perl-libs(x86-64) = 4:5.26.3-419.el8, but none of the providers can be installed
- cannot install the best update candidate for package perl-libs-4:5.26.3-419.el8.x86_64
- cannot install both perl-libs-4:5.26.3-419.el8_4.1.x86_64 and perl-libs-4:5.26.3-419.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages)

2. Ejecute la actualización del paquete desde la salida del comando del paso 1. En este caso es perl-libs.

# dnf update perl-libs.x86_64 --best --allowerasing

3. Luego intente una actualización normal:

# dnf update


Cent OS
  1. Gestión de paquetes de CentOS 8 con DNF en la línea de comandos

  2. Guía de instalación del servidor dedicado Left 4 Dead para CentOS

  3. Instale la extensión MySQLnd para PHP 7.2.3 en PPC64LE con CentOS 7

  4. Centos - La actualización de Yum falla:Error:¿No se pueden recuperar los metadatos del repositorio (repomd.xml) para el repositorio...?

  5. E:¿El paquete necesita ser reinstalado, pero no puedo encontrar un archivo para él?

Cómo instalar un paquete RPM en RHEL 8 / CentOS 8 Linux

ERROR:no se puede encontrar el árbol de fuentes del kernel para el kernel que se está ejecutando actualmente:CentOS / RHEL / AlmaLinux

Los 6 mejores administradores de descargas para Fedora

Los 50 mejores ejemplos de comandos YUM para usuarios de RHEL o CentOS

Cómo instalar uno de los mejores monitores de sistema para el escritorio de Linux

Postman en el sistema Linux:la mejor herramienta API para desarrolladores de software