Condividi tramite


Risoluzione dei problemi di aggiornamento del sistema operativo Red Hat

Si applica a: ✔️ macchine virtuali Linux

L'esecuzione di un aggiornamento principale in Red Hat Enterprise Linux (RHEL) comporta la transizione da una versione principale a un'altra versione principale, ad esempio da RHEL 7 a RHEL 8 o da RHEL 8 a RHEL 9. Gli aggiornamenti principali apportano modifiche significative, tra cui nuove funzionalità, miglioramenti e miglioramenti della sicurezza e delle prestazioni. Il processo può essere complesso, ma Red Hat fornisce strumenti e linee guida per semplificare e rendere più efficiente il processo di aggiornamento.

Un esempio è lo strumento Leapp. Lo strumento Leapp è progettato per automatizzare il processo di aggiornamento dei sistemi RHEL alla versione principale successiva. Esegue controlli, fornisce raccomandazioni e consente di risolvere eventuali problemi che si verificano durante l'aggiornamento. Questo articolo illustra come risolvere i problemi comuni che si verificano quando si usa lo strumento Leapp durante un aggiornamento principale di un sistema operativo Red Hat.

Attenzione

Il 30 giugno 2024, Red Hat Enterprise Linux 7 ha raggiunto la fine della fase di supporto per la manutenzione 2. La fase di manutenzione è seguita dalla fase di durata estesa. Quando Red Hat Enterprise Linux 7 esce dalle fasi complete e di manutenzione, è necessario eseguire l'aggiornamento a Red Hat Enterprise Linux 8 o 9. Se è necessario rimanere in Red Hat Enterprise Linux 7, è consigliabile aggiungere il componente aggiuntivo Red Hat Enterprise Linux Extended Life Cycle Support (ELS).

Raccomandazioni prima dell'aggiornamento

Prima di iniziare il processo di preupgradazione e aggiornamento di Leapp, assicurarsi di eseguire le azioni seguenti:

  • Eseguire un backup della macchina virtuale (VM) o uno snapshot del disco del sistema operativo.

  • Spazio sufficiente in /var/lib/leapp per supportare l'aggiornamento. Una procedura consigliata consiste nell'avere almeno 2-5 GB di spazio disponibile.

  • Configurare l'accesso alla console seriale.

Dopo aver completato queste attività, è possibile avviare i processi di preupgradazione e aggiornamento di Leapp tramite la console seriale.

Problemi e errori di insodeibi

I problemi di prevenzione sono problemi specifici identificati durante la valutazione preliminare che impediscono l'esecuzione dell'aggiornamento. Questi problemi sono critici e devono essere risolti prima di passare all'aggiornamento. È necessario eliminare i problemi di inibitore per mantenere la stabilità e le funzionalità del sistema durante e dopo l'aggiornamento.

Gli errori si riferiscono a problemi che possono verificarsi durante il processo di aggiornamento che potrebbero causare interruzioni o errori. Questi errori possono verificarsi in diverse fasi, sia durante i controlli di preupgrada che durante l'aggiornamento effettivo.

Tipi comuni di inibitori

Tipo di inibitore Descrizione
Pacchetti non supportati Pacchetti installati nel sistema corrente non disponibili o non supportati nella versione di destinazione
Hardware incompatibile Componenti hardware non supportati nella versione di destinazione
Problemi di configurazione Le configurazioni di sistema incompatibili con la nuova versione e richiedono modifiche
Software di terze parti Software non Red Hat che potrebbe interferire con il processo di aggiornamento
Layout del file system Problemi che coinvolgono il layout del file system del sistema operativo, ad esempio schemi di partizionamento non supportati nella versione di destinazione
Modifiche di rete Configurazioni di rete che devono essere aggiornate per allinearsi allo stack di rete della nuova versione
Script personalizzati Script personalizzati o processi cron che potrebbero non essere compatibili con la nuova versione

Tipi comuni di errori

Tipo di errore Descrizione
Errori di installazione Errori che si verificano durante l'installazione dei pacchetti durante l'aggiornamento
Errori del servizio Servizi che non vengono avviati o interrotti correttamente durante il processo di aggiornamento
Problemi del file system Problemi che coinvolgono spazio su disco, danneggiamento dei file o punti di montaggio
Problemi di rete Problemi di connettività di rete che interessano il download o l'installazione dei pacchetti

Trovare gli errori o gli errori nei report di Leapp

Il report Leapp si trova in /var/log/leapp/leapp-report.txt. Aprire il report e cercare le sezioni contrassegnate come antidoibizioni. Queste sezioni elencano i problemi che devono essere risolti.

Per ogni inibitore, il report fornisce in genere passaggi di correzione dettagliati. Questi passaggi possono includere i comandi da eseguire, i pacchetti da installare o le modifiche di configurazione da apportare.

L'elenco seguente contiene occorrenze comuni di output che descrivono un operatore e la relativa correzione:

  • Output 1

    Inhibitor: Missing package 'pkg_name' required for upgrade.
    Remediation: Install the missing package by running:
    [command] sudo yum install pkg_name
    
  • Output 2

    Risk Factor: high (inhibitor)
    Title: Possible problems with remote login using root account
    Summary: OpenSSH configuration file does not explicitly state the option PermitRootLogin in sshd_config file, which will default in RHEL8 to "prohibit-password".
    Remediation: [hint] If you depend on remote root logins using passwords, consider setting up a different user for remote administration or adding "PermitRootLogin yes" to sshd_config. If this change is ok for you, add explicit "PermitRootLogin prohibit-password" to your sshd_config to ignore this inhibitor
    
  • Output 3

    Risk Factor: high (inhibitor)
    Title: Missing required answers in the answer file
    Summary: One or more sections in answerfile are missing user choices: remove_pam_pkcs11_module_check.confirm
    For more information consult https://red.ht/leapp-dialogs.
    Remediation: [hint] Please register user choices with leapp answer cli command or by manually editing the answerfile.
    [command] leapp answer --section remove_pam_pkcs11_module_check.confirm=True
    
  • Output 4

    Risk Factor: high (inhibitor)
    Title: Use of CIFS detected. Upgrade can't proceed
    Summary: CIFS is currently not supported by the inplace upgrade.
    Remediation: [hint] Comment out CIFS entries to proceed with the upgrade.
    
  • Output 5

    Risk Factor: high (inhibitor)
    Title: Detected loaded kernel drivers which have been removed in RHEL 8. Upgrade cannot proceed.
    Summary: Support for the following RHEL 7 device drivers has been removed in RHEL 8: 
    pata_acpi
    floppy
    Remediation: blocklist modules that are unsupported in RHEL 8 (floppy and pata_acpi) or unload the modules by running [command] sudo rmmod floppy pata_acpi
    
  • Output 6

    Risk Factor: high (inhibitor)
    Title: Btrfs has been removed from RHEL8
    Summary: The Btrfs file system was introduced as Technology Preview with the initial release of Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7. As of versions 6.6 and 7.4 this technology has been deprecated and removed in RHEL8.
    Remediation:
    If filesystem is currently  mounted with BTRFS proceed with fresh reinstallation as it is no longer supported on Red Hat Enterprise Linux 8
    If any btrfs is not currently in use by any filesystem, remove the btrfs module using the [command] modprobe -rv btrfs
    
  • Output 7 dell'inibitore

    Inhibitor: Newest installed kernel not in use
    Remediation:
    If the system is having the latest RHEL7 kernel installed, take a reboot and boot the system from the latest kernel.
    If the system is NOT having the latest RHEL7 kernel installed, install it using [command] yum install <latest kernel package>
    
  • Output 8 dell'inibitore

    Risk Factor: high (inhibitor)
    Title: Multiple devel kernels installed
    Summary: DNF cannot produce a valid upgrade transaction when multiple kernel-devel packages are installed.
    Remediation: [hint] Remove all but one kernel-devel packages before running Leapp again.
    [command] yum -y remove kernel-devel-X.XX.X-XXX.XXX kernel-devel-X.XX.X-XXXX.XXX.X.XXX
    
  • Output 9 dell'inibitore

    Risk Factor: medium (inhibitor)
    Title: A YUM/DNF repository defined multiple times
    Summary: The following repositories are defined multiple times inside the "upgrade" container:
        - repo-id
    Remediation: [hint] Remove the duplicate repository definitions or change repoids of conflicting repositories on the system to prevent the conflict
    
  • Output 10

    Risk Factor: high (inhibitor)
    Title: Firewalld Configuration AllowZoneDrifting Is Unsupported
    Summary: Firewalld has enabled configuration option "AllowZoneDrifiting" which has been removed in RHEL-9. New behavior is as if "AllowZoneDrifiting" was set to "no".
    Related links:
        - Changes in firewalld related to Zone Drifting: https://access.redhat.com/articles/4855631
    Remediation: [hint] Set AllowZoneDrifting=no in /etc/firewalld/firewalld.conf
    [command] sed -i s/^AllowZoneDrifting=.*/AllowZoneDrifting=no/ /etc/firewalld/firewalld.conf
    

Nota

Esaminare attentamente l'intero rapporto di preupgrade, anche se non elenca alcun abili. Il report fornisce le azioni consigliate da eseguire prima dell'aggiornamento in modo che il sistema funzioni correttamente in un secondo momento.

Dopo aver risolto tutti gli inibitori, eseguire di nuovo il controllo del preupgrado per assicurarsi che tutti i problemi vengano risolti.

Problemi comuni di Leapp Preupgrade

Sintomo di preupgrade 1: libreria urllib3 danneggiata o mancante

Una libreria urllib3 danneggiata o mancante in Python genera il messaggio di errore seguente:

Traceback (most recent call last):
  File "/bin/leapp", line 9, in <module>
    load_entry_point('leapp==0.16.0', 'console_scripts', 'leapp')()
  File "/usr/lib/python2.7/site-packages/leapp/cli/__init__.py", line 43, in main
    _load_commands(cli.command)
  File "/usr/lib/python2.7/site-packages/leapp/cli/__init__.py", line 27, in _load_commands
    package = pkgutil.get_loader(package_name).load_module(package_name)
  File "/usr/lib64/python2.7/pkgutil.py", line 246, in load_module
    mod = imp.load_module(fullname, self.file, self.filename, self.etc)
  File "/usr/lib/python2.7/site-packages/leapp/cli/commands/list_runs/__init__.py", line 6, in <module>
    from leapp.cli.commands.upgrade.util import fetch_all_upgrade_contexts
  File "/usr/lib/python2.7/site-packages/leapp/cli/commands/upgrade/__init__.py", line 9, in <module>
    from leapp.logger import configure_logger
  File "/usr/lib/python2.7/site-packages/leapp/logger/__init__.py", line 10, in <module>
    from leapp.utils.actorapi import get_actor_api, RequestException
  File "/usr/lib/python2.7/site-packages/leapp/utils/actorapi.py", line 4, in <module>
    import requests
  File "/usr/lib/python2.7/site-packages/requests/__init__.py", line 58, in <module>
    from . import utils
  File "/usr/lib/python2.7/site-packages/requests/utils.py", line 32, in <module>
    from .exceptions import InvalidURL
  File "/usr/lib/python2.7/site-packages/requests/exceptions.py", line 10, in <module>
    from urllib3.exceptions import HTTPError as BaseHTTPError
ImportError: No module named urllib3.exceptions

Preupgrade soluzione 1: Reinstallare il pacchetto python-urllib3

Reinstallare il pacchetto python-urllib3 eseguendo i comandi seguenti:

sudo mv /usr/lib/python2.7/site-packages/urllib3 /tmp/ 
sudo yum reinstall python-urllib3

Sintomo preupgrade 2: timeout della connessione dopo 30.001 millisecondi

Un blocco di comunicazione agli indirizzi IP RHUI (Red Hat Update Infrastructure) genera il messaggio di errore seguente:

Risk Factor: high (error)
Title: Actor rpm_scanner unexpectedly terminated with exit code: 1
Summary: Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/leapp/repository/actor_definition.py", line 74, in _do_run
    actor_instance.run(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/leapp/actors/__init__.py", line 289, in run
    self.process(*args)
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/rpmscanner/actor.py", line 20, in process
    rpmscanner.process()
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py", line 110, in process
    pkg_repos = get_package_repository_data()
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py", line 77, in get_package_repository_data
    return _get_package_repository_data_yum()
  File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py", line 31, in _get_package_repository_data_yum
    for pkg in yum_base.doPackageLists().installed:
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 2981, in doPackageLists
    avail = self.pkgSack.returnNewestByNameArch(patterns=patterns,
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 1075, in <lambda>
    pkgSack = property(fget=lambda self: self._getSacks(),
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 778, in _getSacks
    self.repos.populateSack(which=repos)
  File "/usr/lib/python2.7/site-packages/yum/repos.py", line 347, in populateSack
    self.doSetup()
  File "/usr/lib/python2.7/site-packages/yum/repos.py", line 157, in doSetup
    self.retrieveAllMD()
  File "/usr/lib/python2.7/site-packages/yum/repos.py", line 88, in retrieveAllMD
    dl = repo._async and repo._commonLoadRepoXML(repo)
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1482, in _commonLoadRepoXML
    result = self._getFileRepoXML(local, text)
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1259, in _getFileRepoXML
    size=102400) # setting max size as 100K
  File "/usr/lib/python2.7/site-packages/yum/yumRepo.py", line 1042, in _getFile
    raise e
NoMoreMirrorsRepoError: failure: repodata/repomd.xml from rhel-7-server-ansible-2-rhui-rpms: [Errno 256] No more mirrors to try.
https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: [Errno 12] Timeout on https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: [Errno 12] Timeout on https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: [Errno 12] Timeout on https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: [Errno 12] Timeout on https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')
https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: [Errno 12] Timeout on https://rhui4-1.microsoft.com/pulp/repos/content/dist/rhel/rhui/server/7/7Server/x86_64/ansible/2/os/repodata/repomd.xml: (28, 'Connection timed out after 30001 milliseconds')

Preupgrade soluzione 2: Consentire la connettività RHUI

Consentire la connettività a RHUI. Per altre informazioni, vedere Problemi di connettività RHUI di Linux.

Sintomo di preupgrade 3: un comando subscription-manager non è stato eseguito

Se si esegue l'aggiornamento di Leapp con Red Hat Subscription Manager in un'immagine con pagamento in base al consumo (PayGo), è possibile che venga visualizzato il messaggio di errore seguente:

[ERROR] Actor: scan_subscription_manager_info
Message: 
Summary:
    Details: Command ['subscription-manager', 'release'] failed with exit code 1.
    Stderr: This system is not yet registered. Try 'subscription-manager register --help' for more information.
    Hint: Please ensure you have a valid RHEL subscription and your network is up. If you are using proxy for Red Hat subscription-manager, please make sure it is specified inside the /etc/rhsm/rhsm.conf file. Or use the --no-rhsm option when running leapp, if you do not want to use subscription-manager for the in-place upgrade and you want to deliver all target repositories by yourself or using RHUI on public cloud.

preupgrade soluzione 3: Ignorare lo strumento subscription-manager

Quando si usa un'immagine PayGo in Azure, non è possibile eseguire lo subscription-manager strumento perché il sistema è progettato per l'uso di RHUI. È necessario specificare il --no-rhsm flag da ignorare subscription-manager durante l'aggiornamento.

preupgrade sintomo 4: il preupgrade Leapp non installa pacchetti di spazio utente RHEL 8 ("execv() failed: No such file or directory")

Se si esegue il preupgrade Leapp, è possibile che venga visualizzato il messaggio di errore "Impossibile installare i pacchetti di spazio utente RHEL 8":

Risk Factor: high
Title: Unable to install RHEL 8 userspace packages.
Summary: {"details": "DNF failed to install userspace packages, likely due to the proxy config
uration detected in a repository configuration file.", "stderr": "Failed to create directory /
var/lib/leapp/scratch/mounts/root_/system_overlay//sys/fs/selinux: Read-only file system
Failed to create directory /var/lib/leapp/scratch/mounts/root_/system_overlay//sys/fs/selinux:
 Read-only file system
Host and machine ids are equal (35e06890bn8g56f798g8904356fsd5f8): refusing to link journals
execv() failed: No such file or directory

È anche possibile che venga visualizzato il messaggio di errore "Impossibile ottenere dati sulla configurazione DNF":

Risk Factor: high
Title: Cannot obtain data about the DNF configuration
Summary: {"stderr": "Failed to retrieve machine ID: No such file or directory\n", "stdout": ""}
Key: b41a40f4129e340f05c6b14d1a850b626c4185d1

preupgrade soluzione 4: Installare il pacchetto dnf

Assicurarsi che il pacchetto dnf sia installato e che al pacchetto non siano associati problemi o file danneggiati:

sudo package-cleanup --problems
Package leapp-upgrade-el7toel8-deps-0.18.0-1.el7_9.noarch has missing requires of dnf >= ('0', '4', None)
sudo yum reinstall leapp\*
sudo rpm -Va dnf\* leapp\*   
.M.......  g /var/log/dnf.librepo.log
.M.......  g /var/log/dnf.log
.M.......  g /var/log/dnf.rpm.log
.M.......  g /var/log/hawkey.log

preupgrade sintomo 5: /var/lib/leapp/el8userspace', '/bin/bash', '-c', 'su - c update-ca-trust'] non riuscito con codice di uscita 1

Se si esegue il preupgrade di Leapp, è possibile che venga visualizzato il messaggio di errore "Actor target_userspace_creator unexpectedly terminate" (Attore target_userspace_creator terminato in modo imprevisto):

Factor: high error
Title: Actor target_userspace_creator unexpectedly terminated with exit code: 1
Summary: Traceback most recent call last:  File '/usr/lib/python2.7/site-packages/leapp/repository/actor_definition.py',
line 74, in _do_run    actor_instance.run*args, **kwargs  File '/usr/lib/python2.7/site-packages/leapp/actors/__init__.py', line 289, in run
self.process*args  File '/usr/share/leapp-repository/repositories/system_upgrade/common/actors/targetuserspacecreator/actor.py', line 58, in process    userspacegen.perform  File '/usr/lib/python2.7/site-packages/leapp/utils/deprecation.py', line 42, in process_wrapper    return target_item*args, **kwargs  File '/usr/share/leapp-repository/repositories/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py',
line 1246, in perform    _create_target_userspacecontext, indata, indata.packages, indata.files, target_repoids  File '/usr/share/leapp-repository/repositories/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py',
line 1108, in _create_target_userspace    _prep_repository_accesscontext, target_path  File '/usr/share/leapp-repository/repositories/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py',
line 629, in _prep_repository_access    run['chroot', target_userspace, '/bin/bash', '-c', 'su - -c update-ca-trust']  File '/usr/lib/python2.7/site-packages/leapp/libraries/stdlib/__init__.py', line 192, in run    result=resultCalledProcessError: Command ['chroot', '/var/lib/leapp/el8userspace', '/bin/bash', '-c', 'su - -c update-ca-trust'] failed with exit code 1

preupgrade soluzione 5: Reinstallare i certificati ca e aggiornare l'attendibilità della CA

Si è verificato un problema all'interno del pacchetto ca-certificates esistente che ha causato l'esito negativo del update-ca-trust comando. Per risolvere questo problema, reinstallare il pacchetto ca-certificates ed eseguire il update-ca-trust comando :

sudo yum reinstall ca-certificates
sudo update-ca-trust

preupgrade sintomo 6: FileNotFoundError: [Errno 2] Nessun file o directory di questo tipo: '/etc/leapp/repos.d/system_upgrade/common/files/rhui/azure-XX/content-XX.crt'

Se si tenta di eseguire leapp preupgrade su RHEL 8 per SAP-HANA o SAPApps che hanno la versione lapp-rhui-azure-sap-1.0.0-14.el8.noarchdello leapp strumento o su immagini Red Hat di base con versione leapp-rhui-azure-1.0.0-14.el8.noarch, viene generato il messaggio di errore seguente:

====> * target_userspace_creator
        Initializes a directory to be populated as a minimal environment to run binaries from the target system.
Process Process-408:
Traceback (most recent call last):
  File "/usr/lib64/python3.6/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/lib64/python3.6/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.6/site-packages/leapp/repository/actor_definition.py", line 74, in _do_run
    actor_instance.run(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/leapp/actors/__init__.py", line 289, in run
    self.process(*args)
  File "/etc/leapp/repos.d/system_upgrade/common/actors/targetuserspacecreator/actor.py", line 58, in process
    userspacegen.perform()
  File "/usr/lib/python3.6/site-packages/leapp/utils/deprecation.py", line 42, in process_wrapper
    return target_item(*args, **kwargs)
  File "/etc/leapp/repos.d/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py", line 774, in perform
    target_repoids = _gather_target_repositories(context, indata, prod_cert_path)
  File "/etc/leapp/repos.d/system_upgrade/common/actors/targetuserspacecreator/libraries/userspacegen.py", line 714, in _gather_target_repositories
    rhui.copy_rhui_data(context, indata.rhui_info.provider)
  File "/etc/leapp/repos.d/system_upgrade/common/libraries/rhui.py", line 259, in copy_rhui_data
    context.copy_to(os.path.join(data_dir, path_[0]), path_[1])
  File "/etc/leapp/repos.d/system_upgrade/common/libraries/mounting.py", line 232, in copy_to
    shutil.copy2(src, self.full_path(dst))
  File "/usr/lib64/python3.6/shutil.py", line 263, in copy2
    copyfile(src, dst, follow_symlinks=follow_symlinks)
  File "/usr/lib64/python3.6/shutil.py", line 120, in copyfile
    with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: '/etc/leapp/repos.d/system_upgrade/common/files/rhui/azure-sap-ha/content-sap-ha.crt'

Le immagini SAP-HA generano:

FileNotFoundError: [Errno 2] No such file or directory:'/etc/leapp/repos.d/system_upgrade/common/files/rhui/azure-sap-ha/content-sap-ha.crt'

Le immagini SAPApps generano:

FileNotFoundError: [Errno 2] No such file or directory:'/etc/leapp/repos.d/system_upgrade/common/files/rhui/azure-sap-apps/content-sapapps.crt'

Genera immagini di base:

FileNotFoundError: [Errno 2] No such file or directory: '/etc/leapp/repos.d/system_upgrade/common/files/rhui/azure/content.crt'

preupgrade soluzione 6

La soluzione alternativa per questo problema consiste nel effettuare il downgrade della versione di leapp-rhui-azure-sap a leapp-rhui-azure-sap-1.0.0-10.el8.noarch per le immagini SAP e la versione di a leapp-rhui-azure-1.0.0-10.el8.noarch per le immagini di leapp-rhui-azure base di Red Hat.

Immagini SAP:

sudo dnf downgrade leapp-rhui-azure-sap 

Immagini di base:

sudo dnf downgrade leapp-rhui-azure

Dopo aver risolto tutti gli inibitori, eseguire di nuovo il preupgrado e assicurarsi che tutti i problemi vengano risolti.

Problemi comuni relativi all'aggiornamento di Leapp

Dopo che il report di preupgradazione non mostra errori o errori e tutto è contrassegnato come risolto, continuare con l'aggiornamento di Leapp. In questo report l'output viene in genere visualizzato in verde o giallo, a indicare che è sicuro eseguire l'aggiornamento di Leapp.

I sintomi seguenti indicano alcuni errori comuni segnalati durante il processo di aggiornamento di Leapp.

Sintomo 1 problemi di aggiornamento: spazio insufficiente disponibile in /var/lib/leapp/scratch

Se si esegue l'aggiornamento di Leapp, è possibile che venga visualizzato il messaggio di errore "Spazio disponibile insufficiente" seguente:

2024-06-14 19:31:45.552155 [ERROR] Actor: dnf_dry_run
Message: Not enough space available on /var/lib/leapp/scratch: Needed at least 1224 MiB.
Summary:
    Detail: The file system hosting the /var/lib/leapp/scratch directory does not contain enough free space to proceed all parts of the in-place upgrade. Note the calculated required free space is the minimum derived from upgrades of minimal systems and the actual needed free space could be higher.
            Needed at least: 1224 MiB.
            Suggested free space: 2224 MiB (or more).

Soluzione di aggiornamento 1: Estendere il file system

Estendere il file system in cui /var/lib/leapp è montato. In genere, il montaggio è in /dev/mapper/rootvg-varlv.

In genere, l'output viene visualizzato in verde o giallo, a indicare che è possibile eseguire in modo sicuro l'aggiornamento di Leapp.

Sintomo 2 problemi di aggiornamento: il openssl-libs-1:1.1.1k-12.el8_9.x86_64 è in conflitto con il file dal pacchetto openssl11-libs-1:1.1.1k-7.el7.x86_64

Esiste un conflitto tra le librerie dalle origini seguenti:

  • Il pacchetto openssl11-libs dal repository Extra Packages for Enterprise Linux (EPEL)
  • I pacchetti openssl e openssl-libs per RHEL 8 forniti da Red Hat (necessari per l'aggiornamento sul posto)

In questo caso, viene visualizzato il seguente messaggio di errore:

Error: Transaction test error:
              file /usr/lib64/.libcrypto.so.1.1.1k.hmac from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
              file /usr/lib64/.libssl.so.1.1.1k.hmac from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
              file /usr/lib64/engines-1.1/afalg.so from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
              file /usr/lib64/engines-1.1/capi.so from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
              file /usr/lib64/engines-1.1/padlock.so from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
              file /usr/lib64/libcrypto.so.1.1.1k from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
              file /usr/lib64/libssl.so.1.1.1k from install of openssl-libs-1:1.1.1k-12.el8_9.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-7.el7.x86_64
    Hint: If there was a problem reaching remote content (see stderr output) and proxy is configured in the YUM/DNF configuration file, the proxy configuration is likely causing this error. Make sure the proxy is properly configured in /etc/dnf/dnf.conf. It's also possible the proxy settings in the DNF configuration file are incompatible with the target system. A compatible configuration can be placed in /etc/leapp/files/dnf.conf which, if present, it will be used during some parts of the upgrade instead of original /etc/dnf/dnf.conf. In such case the configuration will also be applied to the target system. Note that /etc/dnf/dnf.conf needs to be still configured correctly for your current system to pass the early phases of the upgrade process.

Soluzione di aggiornamento 2: Rimuovere il pacchetto openssl11-*

Verificare che il pacchetto openssl11-* sia stato installato per un fornitore di terze parti. Se il pacchetto proviene da un fornitore di terze parti, rimuoverlo, come illustrato nei comandi seguenti.

Nota

Questo messaggio di errore di conflitto potrebbe essere generato se si usa un altro gestore pacchetti di terze parti. In questo esempio il conflitto è stato con openssl11.

sudo yum list installed | grep -i openssl11
sudo yum remove openssl11 openssl11-libs 
openssl11.x86_64            1:1.1.1k-7.el7         @epel                        
openssl11-libs.x86_64       1:1.1.1k-7.el7         @epel 
===============================================================================
 Package               Arch          Version                 Repository    Size
================================================================================
Removing:
 openssl11             x86_64        1:1.1.1k-7.el7          @epel        1.0 M
 openssl11-libs        x86_64        1:1.1.1k-7.el7          @epel        3.6 M
Removing for dependencies:
 nodejs                x86_64        1:16.20.2-1.el7         @epel        290 k
 nodejs-libs           x86_64        1:16.20.2-1.el7         @epel         50 M

Avviso

Se altri pacchetti, ad esempio nodejs e nodejs-libs dal repository EPEL, vengono rimossi a causa dei problemi di dipendenza visualizzati nell'output precedente, eseguire il backup dei file di configurazione correlati e reinstallare manualmente gli stessi pacchetti dopo l'aggiornamento sul posto.

Sintomo 3 problemi di aggiornamento: problema con il pacchetto installato ansible-2.9.27-1.el7ae.noarch e ansible-test-2.9.27-1.el7ae.noarch

Se si esegue l'aggiornamento di Leapp, è possibile che venga visualizzato il messaggio di errore "L'esecuzione DNF non è riuscita con codice di uscita diverso da zero":

Risk Factor: high (error)
Title: DNF execution failed with non zero exit code.
Summary: {"hint": "If there was a problem reaching remote content (see stderr output) and proxy is configured in the YUM/DNF configuration file, the proxy configuration is likely causing this error. Make sure the proxy is properly configured in /etc/dnf/dnf.conf. It's also possible the proxy settings in the DNF configuration file are incompatible with the target system. A compatible configuration can be placed in /etc/leapp/files/dnf.conf which, if present, it will be used during some parts of the upgrade instead of original /etc/dnf/dnf.conf. In such case the configuration will also be applied to the target system. Note that /etc/dnf/dnf.conf needs to be still configured correctly for your current system to pass the early phases of the upgrade process.", "STDERR": "No matches found for the following disable plugin patterns: subscription-manager\nFailed loading plugin \"dnf_rhui_plugin\": No module named 'requests'\nWarning: Package marked by Leapp to upgrade not found in repositories metadata: gpg-pubkey leapp-upgrade-el7toel8 leapp python2-leapp\nTransaction check: \n\n Problem: problem with installed package ansible-2.9.27-1.el7ae.noarch\n  - cannot install the best update candidate for package ansible-2.9.27-1.el7ae.noarch\n  - problem with installed package ansible-test-2.9.27-1.el7ae.noarch\n  - cannot install the best update candidate for package ansible-test-2.9.27-1.el7ae.noarch\n  - package ansible-test-2.9.0-2.el8.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.0-2.el8, but none of the providers can be installed\n  - package ansible-test-2.9.1-1.el8.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.1-1.el8, but none of the providers can be installed\n  - package ansible-test-2.9.2-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.2-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.4-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.4-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.5-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.5-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.6-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.6-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.7-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.7-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.9-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.9-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.10-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.10-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.11-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.11-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.13-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.13-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.14-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.14-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.15-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.15-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.16-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.16-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.17-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.17-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.18-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.18-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.19-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.19-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.20-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.20-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.21-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.21-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.22-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.22-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.23-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.23-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.24-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.24-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.25-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.25-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.9.26-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms requires ansible = 2.9.26-1.el8ae, but none of the providers can be installed\n  - package ansible-test-2.12.2-3.1.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.12.2-3.1.el8, but none of the providers can be installed\n  - package ansible-test-2.12.2-4.el8_6.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.12.2-4.el8_6, but none of the providers can be installed\n  - package ansible-test-2.13.3-1.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.13.3-1.el8, but none of the providers can be installed\n  - package ansible-test-2.13.3-2.el8_7.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.13.3-2.el8_7, but none of the providers can be installed\n  - package ansible-test-2.14.2-3.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.14.2-3.el8, but none of the providers can be installed\n  - package ansible-test-2.14.2-4.el8_8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.14.2-4.el8_8, but none of the providers can be installed\n  - package ansible-test-2.15.3-1.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.15.3-1.el8, but none of the providers can be installed\n  - package ansible-test-2.16.3-2.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms requires ansible-core = 2.16.3-2.el8, but none of the providers can be installed\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.0-2.el8.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.1-1.el8.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.2-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.4-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.5-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.6-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.7-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.9-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.10-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.11-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.13-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.14-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.15-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.16-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.17-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.18-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.19-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.20-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.21-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.22-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.23-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.24-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.25-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - cannot install both ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms and ansible-2.9.26-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - package ansible-core-2.12.2-3.1.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - package ansible-core-2.12.2-4.el8_6.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - package ansible-core-2.13.3-1.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - package ansible-core-2.13.3-2.el8_7.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - package ansible-core-2.14.2-3.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - package ansible-core-2.14.2-4.el8_8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - package ansible-core-2.15.3-1.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - package ansible-core-2.16.3-2.el8.x86_64 from rhel-8-for-x86_64-appstream-rhui-rpms conflicts with ansible < 2.10.0 provided by ansible-2.9.27-1.el8ae.noarch from ansible-2-for-rhel-8-x86_64-rhui-rpms\n  - ansible-test-2.9.27-1.el7ae.noarch from @System  does not belong to a distupgrade repository\n  - ansible-2.9.27-1.el7ae.noarch from @System  does not belong to a distupgrade repository\n", "STDOUT": "Last metadata expiration check: 0:02:18 ago on Fri Jun 14 18:01:34 2024.\n"}

Aggiornare la soluzione 3: Rimuovere i pacchetti Ansible

L'aggiornamento sul posto non è supportato per i sistemi con prodotti Ansible. Per altre informazioni, vedere Upgrading_from_rhel_7_to_rhel_8. Per rimuovere i pacchetti Ansible, eseguire il comando seguente:

sudo yum remove ansible ansible-test

Sintomo 4 problemi di aggiornamento: ImportError: /lib64/libk5crypto.so.3: simbolo non definito

Esiste un simbolo mancante o non corrispondente nella libreria OpenSSL richiesto da libk5crypto , come illustrato nell'output seguente:

[ 1895.402427] upgrade[557]: ImportError: /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b

Aggiornare la soluzione 4: rimuovere o rinominare il file in conflitto e aggiornare il linker dinamico

Un percorso personalizzato della libreria OpenSSL in /etc/ld.so.conf.d/openssl-1.1.1d.conf causa il problema:

sudo cat /etc/ld.so.conf.d/openssl-1.1.1d.conf
/usr/local/ssl/lib

Per risolvere il conflitto, rimuovere o rinominare il file. Aggiornare quindi le associazioni di runtime del linker dinamico eseguendo ldconfig:

sudo mv /etc/ld.so.conf.d/openssl-1.1.1d.conf /tmp
sudo ldconfig

Il ldconfig comando aggiorna i collegamenti simbolici e ricompila la cache per assicurarsi che la libreria appena installata sia collegata correttamente e disponibile per l'uso da parte di altri gruppi.

Questa azione assicura che il sistema usi le versioni corrette delle librerie OpenSSL e libk5crypto. Inoltre, questa azione deve correggere l'elemento ImportError correlato al simbolo EVP_KDF_ctrlnon definito .

Sintomo di aggiornamento 5: l'aggiornamento di Leapp non monta un dispositivo durante l'aggiornamento

Se si esegue l'aggiornamento di Leapp, è possibile che venga visualizzato il messaggio di errore di montaggio del dispositivo seguente:

[    4.509104] upgrade[569]: Mounting /usr with -o defaults,ro
[    4.590197] upgrade[596]: Spawning container sysroot on /sysroot.
[    4.608522] upgrade[596]: Press ^] three times within 1s to kill container.
[    4.909441] upgrade[599]: mount: can't find UUID=c044351a-93a0-45f5-afs3-d361181215b8 
[   44.830831] upgrade[638]: ==> Processing phase `InitRamStart`
[   44.843736] upgrade[638]: ====> * remove_upgrade_boot_entry
[   44.863656] upgrade[638]:         Remove boot entry for Leapp provided initramfs.
[   47.734944] upgrade[1155]: Process Process-230:
[   47.745684] upgrade[1155]: Traceback (most recent call last):
[   47.756230] upgrade[1155]:   File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in _bootstrap
[   47.764584] upgrade[1155]:     self.run()

Soluzione di aggiornamento 5: ripristinare la macchina virtuale e rimuovere l'UUID

  1. Ripristinare la macchina virtuale (VM) dallo snapshot o dal backup.

  2. Controllare se l'UUID del messaggio di errore esiste nella macchina virtuale. Se l'UUID esiste, impostarlo come commento o rimuoverlo dal file /etc/fstab .

    sudo blkid
    
    sudo cat /etc/fstab
    
  3. Eseguire di nuovo il comando Di aggiornamento leapp.

Sintomo 6 problemi di aggiornamento: impossibile installare n/a in /sys/fs/cgroup in RHEL 7.9

Se si esegue l'aggiornamento di Leapp, è possibile che venga visualizzato il messaggio di errore "Impossibile montare" seguente:

[ 4.815758]  upgrade[599]: Failed to mount n/a on /sys/fs/cgroup (MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_REMOUNT|MS_STRICTATIME "mode=755"): Invalid argument
[ 4.812413]  kernel: cgroup2: Unknown parameter 'mode'

L'errore di montaggio si verifica perché la versione 2 del gruppo di controllo (cgroup v2) non è supportata in RHEL 7. Per altre informazioni, vedere [IPU 7>8] Leapp ha esito negativo con cgroup v2 non supportato.

Aggiornare la soluzione 6: Rimuovere il parametro systemd.unified_cgroup_hierarchy

  1. Ripristinare la macchina virtuale dallo snapshot o da un backup.

  2. Prima di eseguire l'aggiornamento di Leapp, verificare se il parametro systemd.unified_cgroup_hierarchy=1 si trova in /proc/cmdline o /etc/default/grub.

  3. Se il parametro si trova in uno di questi file, rimuovere il parametro dal file e quindi eseguire di nuovo il processo di aggiornamento leapp.

Sintomo di aggiornamento 7: l'aggiornamento di Leapp non continua dopo il riavvio e la macchina virtuale viene avviata in RHEL 8.10

Se si esegue l'aggiornamento di Leapp da RHEL 8.10 a 9.4 o 9.5, il processo di aggiornamento potrebbe non continuare dopo il riavvio richiesto. Al contrario, la macchina virtuale viene riavviata in RHEL 8.10 senza caricare l'aggiornamento speciale initramfs.

L'impostazione seguente in /etc/default/grub potrebbe causare questo problema:

GRUB_DEFAULT=0

Poiché GRUB_DEFAULT=0 forza il sistema ad avviare sempre la prima voce di menu in GRUB, ignora la voce di aggiornamento di Leapp e continua l'avvio nell'ambiente RHEL 8.10 esistente.

Soluzione di aggiornamento 7: Modificare GRUB per usare la voce salvata

  1. Modificare GRUB_DEFAULT=0 in GRUB_DEFAULT=saved:

    Nota

    In questo esempio, GRUB_DEFAULT è impostato su 0, ma nell'ambiente potrebbe essere 1 o un altro numero. Assicurarsi di sostituirlo di conseguenza nel sed comando .

    sudo sed -i 's/^GRUB_DEFAULT=0/GRUB_DEFAULT=saved/' /etc/default/grub
    
  2. Rigenerare la configurazione GRUB:

    • GEN 1:

      sudo grub2-mkconfig -o /boot/grub2/grub.cfg
      
    • GEN 2:

      grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
      
  3. Riavviare la macchina virtuale usando la console seriale:

    sudo reboot
    

    Dopo il riavvio, se la correzione viene applicata correttamente, la macchina virtuale verrà avviata nell'aggiornamento di Leapp initramfs e verrà visualizzato un output simile alle righe seguenti nella console seriale:

    [  OK  ] Reached target Remote File Systems.
            Starting dracut pre-mount hook...
    [  OK  ] Finished dracut pre-mount hook.
            Starting File System Check on /dev/mapper/rootvg-rootlv...
    [  OK  ] Finished File System Check on /dev/mapper/rootvg-rootlv.
            Mounting /sysroot...
    [  OK  ] Mounted /sysroot.
    [  OK  ] Reached target Initrd Root File System.
    [  OK  ] Reached target System Upgrade.
            Starting dracut pre-pivot and cleanup hook...
            Starting System Upgrade...
    [    6.507621] upgrade[677]: starting upgrade hook
    [    6.531079] upgrade[677]: /bin/upgrade: line 20: /sysroot/var/tmp/system-upgrade.state: No such file or directory
    [    6.543603] upgrade[677]: Storage initialisation: Attempt 0 of 11. Wait 15 seconds.
    [    6.608365] dracut-pre-pivot[703]: 6.605850 | /etc/multipath.conf does not exist, blocklisting all devices.
    [    6.620246] dracut-pre-pivot[703]: 6.608599 | You can run "/sbin/mpathconf --enable" to create
    [    6.630208] dracut-pre-pivot[703]: 6.608921 | /etc/multipath.conf. See man mpathconf(8) for more details
    [  OK  ] Finished dracut pre-pivot and cleanup hook.
    [   21.555427] upgrade[714]:   5 logical volume(s) in volume group "rootvg" now active
    [   21.581296] upgrade[677]: Mounting /usr with -o defaults,ro
    

    Questo output indica che il processo di aggiornamento di Leapp ha continuato correttamente. Al termine, la macchina virtuale deve essere avviata in RHEL 9.x.

Importante

Se l'aggiornamento di Leapp non riesce ancora senza un motivo ovvio (ad esempio quando si esegue l'aggiornamento dalla versione 7.9 alla versione 8.10 o dalla versione 8.10 alla versione 9.5), non eseguire l'aggiornamento alla versione più recente. Provare invece a eseguire l'aggiornamento a una versione intermedia , ad esempio dalla versione 7.9 alla versione 8.8 o dalla versione 8.10 alla versione 9.4, specificando il --target x.y flag . Al termine dell'aggiornamento intermedio, è possibile provare a eseguire l'aggiornamento alla versione più recente.

Dichiarazione di non responsabilità sulle informazioni di terze parti

I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti

Dichiarazione di non responsabilità di contatti di terze parti

Microsoft fornisce informazioni di contatto di terze parti per aiutarti a trovare ulteriori informazioni su questo argomento. Queste informazioni di contatto sono soggette a modifica senza preavviso. Microsoft non garantisce l'accuratezza delle informazioni di contatto di terze parti.

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.