GNU/Linux >> Linux Esercitazione >  >> Cent OS

"impossibile installare il miglior candidato di aggiornamento per il pacchetto" - errore durante l'esecuzione dell'aggiornamento dnf

Il problema

L'esecuzione del comando 'dnf update' non riesce con il seguente errore:

# 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)

Anche il tentativo di aggiornare singolarmente i pacchetti sopra riportati genera un errore simile.

# 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) 

Cancellare la cache dnf "dnf clean all" non ha fatto alcuna differenza.

# dnf clean all

La soluzione

In questo caso, il pacchetto perl-interpreter e perl-libs sta causando un problema. Ciò potrebbe essere dovuto a qualche problema di metadati con questi pacchetti. Eseguire i seguenti comandi per risolvere il problema.

1. Eseguire il comando seguente e verificare se l'aggiornamento procede. Se ancora non si aggiorna, questo ci aiuta a identificare il pacchetto che non è in grado di rimuovere con l'opzione "-best -allowerasing". In questo caso, è il pacchetto perl-libs che sta ancora bloccando l'aggiornamento.

# 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. Eseguire l'aggiornamento per il pacchetto dall'output del comando del passaggio 1. In questo caso è perl-libs.

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

3. Quindi prova il normale aggiornamento:

# dnf update


Cent OS
  1. Left 4 Dead Guida all'installazione del server dedicato per CentOS

  2. Installa l'estensione MySQLnd per PHP 7.2.3 su PPC64LE con CentOS 7

  3. Errore di aggiornamento yum "Bad id for repo:My Repo, byte =2".

  4. Installa scrcpy su Linux dal pacchetto Snap (app per la visualizzazione e il controllo remoto di Android da PC)

  5. Impossibile trovare l'errore di configurazione di pkg

Come installare un pacchetto RPM su RHEL 8 / CentOS 8 Linux

ERRORE:impossibile trovare l'albero dei sorgenti del kernel per il kernel attualmente in esecuzione – CentOS / RHEL / AlmaLinux

I 6 migliori gestori di download per Fedora

I 50 migliori esempi di comandi YUM per utenti RHEL o CentOS

Come installare uno dei migliori monitor di sistema per il desktop Linux

Postman su sistema Linux:il miglior strumento API per sviluppatori di software