Partager via


Résolution des problèmes de mise à niveau du système d’exploitation Red Hat

S’applique à : ✔️ Machines virtuelles Linux

Une mise à niveau majeure sur Red Hat Enterprise Linux (RHEL) consiste à passer d’une version principale à une autre version principale, par exemple de RHEL 7 à RHEL 8 ou de RHEL 8 à RHEL 9. Les mises à niveau majeures apportent des modifications importantes, notamment de nouvelles fonctionnalités, des améliorations, ainsi que des améliorations de la sécurité et des performances. Le processus peut être complexe, mais Red Hat fournit des outils et des conseils pour simplifier et optimiser le processus de mise à niveau.

Un exemple est l’outil Leapp. L’outil Leapp est conçu pour automatiser le processus de mise à niveau des systèmes RHEL vers la prochaine version majeure. Il effectue des vérifications, fournit des recommandations et aide à résoudre les problèmes qui se produisent pendant la mise à niveau. Cet article explique comment résoudre les problèmes courants qui se produisent lorsque vous utilisez l’outil Leapp lors d’une mise à niveau majeure d’un système d’exploitation Red Hat.

Attention

Le 30 juin 2024, Red Hat Enterprise Linux 7 a atteint la fin de la phase de support de maintenance 2. La phase de maintenance est suivie de la phase de vie étendue. Lorsque Red Hat Enterprise Linux 7 passe des phases complètes et de maintenance, vous devez effectuer une mise à niveau vers Red Hat Enterprise Linux 8 ou 9. Si vous devez rester sur Red Hat Enterprise Linux 7, nous vous recommandons d’ajouter le module complémentaire ElS (Extended Life Cycle Support) Red Hat Enterprise Linux.

Recommandations avant la mise à niveau

Avant de commencer le processus de prégradation et de mise à niveau De l’application, veillez à effectuer les actions suivantes :

  • Effectuez une sauvegarde de la machine virtuelle ou d’un instantané du disque du système d’exploitation.

  • Effacez suffisamment d’espace pour /var/lib/leapp prendre en charge la mise à niveau. Une bonne pratique consiste à disposer d’au moins 2 à 5 Go d’espace libre disponible.

  • Configurez l’accès à la console série.

Une fois ces tâches terminées, vous pouvez démarrer les processus de prégradation et de mise à niveau De l’application via la console série.

Problèmes et erreurs de l’inhibiteur

Les problèmes d’inhibiteur sont des problèmes spécifiques identifiés lors de l’évaluation de prégradation qui empêchent la mise à niveau de continuer. Ces problèmes sont critiques et doivent être résolus avant de pouvoir passer à la mise à niveau. Vous devez éliminer les problèmes d’inhibiteur pour maintenir la stabilité et la fonctionnalité du système pendant et après la mise à niveau.

Les erreurs font référence aux problèmes qui peuvent se produire pendant le processus de mise à niveau qui peuvent entraîner des interruptions ou des échecs. Ces erreurs peuvent se produire à différentes étapes, à la fois pendant les vérifications de prégradation et pendant la mise à niveau réelle.

Types courants d’inhibiteurs

Type d’inhibiteur Description
Packages non pris en charge Packages installés sur le système actuel qui ne sont pas disponibles ou non pris en charge dans la version cible
Matériel incompatible Composants matériels non pris en charge dans la version cible
Problèmes de configuration Configurations système incompatibles avec la nouvelle version et nécessitant des ajustements
Logiciel tiers Logiciels non Red Hat susceptibles d’interférer avec le processus de mise à niveau
Disposition du système de fichiers Problèmes impliquant la disposition du système de fichiers du système d’exploitation, telles que les schémas de partitionnement qui ne sont pas pris en charge dans la version cible
Changements liés au réseau Configurations réseau qui doivent être mises à jour pour s’aligner sur la pile réseau de la nouvelle version
Scripts personnalisés Scripts personnalisés ou travaux cron qui peuvent être incompatibles avec la nouvelle version

Types courants d’erreurs

Type d’erreur Description
Échecs d’installation Erreurs qui se produisent pendant l’installation des packages pendant la mise à niveau
Échecs de service Services qui ne démarrent pas ou ne s’arrêtent pas correctement pendant le processus de mise à niveau
Problèmes de système de fichiers Problèmes impliquant l’espace disque, l’altération des fichiers ou les points de montage
Problèmes liés au réseau Problèmes de connectivité réseau qui affectent le téléchargement ou l’installation des packages

Rechercher des inhibiteurs ou des erreurs dans le rapport Leapp

Le rapport Leapp se trouve à l’adresse /var/log/leapp/leapp-report.txt. Ouvrez le rapport et recherchez les sections marquées comme inhibiteurs. Ces sections répertorient les problèmes qui doivent être résolus.

Pour chaque inhibiteur, le rapport fournit généralement des étapes de correction détaillées. Ces étapes peuvent inclure des commandes à exécuter, des packages à installer ou des modifications de configuration à effectuer.

La liste suivante contient des occurrences courantes de sortie qui décrivent un inhibiteur et sa correction :

  • Sortie de l’inhibiteur 1

    Inhibitor: Missing package 'pkg_name' required for upgrade.
    Remediation: Install the missing package by running:
    [command] sudo yum install pkg_name
    
  • Sortie de l’inhibiteur 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
    
  • Sortie de l’inhibiteur 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
    
  • Sortie de l’inhibiteur 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.
    
  • Sortie de l’inhibiteur 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
    
  • Sortie de l’inhibiteur 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
    
  • Sortie de l’inhibiteur 7

    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>
    
  • Sortie de l’inhibiteur 8

    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
    
  • Sortie de l’inhibiteur 9

    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
    
  • Sortie de l’inhibiteur 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
    

Remarque

Examinez attentivement l’ensemble du rapport de prégradation, même s’il ne répertorie pas d’inhibiteurs. Le rapport fournit des actions recommandées pour effectuer avant la mise à niveau afin que le système fonctionne correctement par la suite.

Après avoir corrigé tous les inhibiteurs, réexécutez la vérification de prégradation pour vous assurer que tous les problèmes sont résolus.

Problèmes courants liés à Leapp Preupgrade

Symptôme de prégradation 1 : Bibliothèque URLlib3 endommagée ou manquante

Une bibliothèque URLlib3 endommagée ou manquante dans Python génère le message d’erreur suivant :

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

Solution de prégradation 1 : réinstaller le package python-urllib3

Réinstallez le package python-urllib3 en exécutant les commandes suivantes :

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

Symptôme de prégradation 2 : Délai d’expiration de la connexion après 30 001 millisecondes

Un bloc de communication vers les adresses IP RHUI (Red Hat Update Infrastructure) génère le message d’erreur suivant :

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

Solution de prégradation 2 : Autoriser la connectivité RHUI

Autoriser la connectivité à RHUI. Pour plus d’informations, consultez Problèmes de connectivité RHUI Linux.

Symptôme de prégradation 3 : une commande subscription-manager n’a pas été exécutée

Si vous exécutez la mise à niveau De l’application avec Red Hat Subscription Manager sur une image de paiement à l’utilisation (PayGo), vous pouvez recevoir le message d’erreur suivant :

[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.

solution de prégradation 3 : Contourner l’outil du gestionnaire d’abonnements

Lorsque vous utilisez une image PayGo sur Azure, vous ne pouvez pas exécuter l’outil, car le système est conçu pour utiliser RHUI à la subscription-manager place. Vous devez spécifier l’indicateur --no-rhsm à contourner subscription-manager pendant la mise à niveau.

symptôme de prégrade 4 : Le prégrade Leapp n’installe pas les packages userspace RHEL 8 (« execv() a échoué : aucun fichier ou répertoire de ce type »)

Si vous exécutez la prégradation Leapp, vous pouvez recevoir le message d’erreur « Impossible d’installer les packages userspace RHEL 8 » suivants :

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

Vous pouvez également recevoir le message d’erreur suivant « Impossible d’obtenir des données sur la configuration 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

solution de prégrade 4 : installer le package dnf

Vérifiez que le package dnf est installé et qu’aucun problème ou fichiers endommagés n’est associé à ce package :

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

symptôme de préupgrade 5 : /var/lib/leapp/el8userspace', '/bin/bash', '-c', 'su - c update-ca-trust'] a échoué avec le code de sortie 1

Si vous exécutez la prégradation De l’application, vous pouvez recevoir le message d’erreur « Actor target_userspace_creator inattendu » :

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

solution de prégradation 5 : réinstaller les certificats d’autorité de certification et mettre à jour l’approbation de l’autorité de certification

Un problème s’est produit dans le package ca-certificates existant qui a provoqué l’échec de la update-ca-trust commande. Pour résoudre ce problème, réinstallez le package ca-certificates et exécutez la update-ca-trust commande :

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

symptôme préupgrade 6 : FileNotFoundError : [Errno 2] Aucun fichier ou répertoire de ce type : '/etc/leapp/repos.d/system_upgrade/common/files/rhui/azure-XX/content-XX.crt'

Si vous essayez d’exécuter leapp preupgrade sur RHEL 8 pour SAP-HANA ou SAPApps qui ont la version lapp-rhui-azure-sap-1.0.0-14.el8.noarchde l’outilleapp, ou sur les images Red Hat de base qui ont la versionleapp-rhui-azure-1.0.0-14.el8.noarch, le message d’erreur suivant est généré :

====> * 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'

Les images SAP-HA génèrent :

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

Les images SAPApps génèrent :

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

Les images de base génèrent :

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

solution de prégradation 6

La solution de contournement pour ce problème consiste à rétrograder la version d’images leapp-rhui-azure-sapleapp-rhui-azure-sap-1.0.0-10.el8.noarch SAP et la version d’images leapp-rhui-azure-1.0.0-10.el8.noarch de leapp-rhui-azure base Red Hat.

Images SAP :

sudo dnf downgrade leapp-rhui-azure-sap 

Images de base :

sudo dnf downgrade leapp-rhui-azure

Après avoir résolu tous les inhibiteurs, réexécutez la prégradation et assurez-vous que tous les problèmes sont résolus.

Problèmes courants de mise à niveau de Leapp

Une fois que le rapport de prégradation n’affiche aucune erreur ou inhibiteur et que tout est marqué comme résolu, passez à la mise à niveau de Leapp. Dans ce rapport, la sortie est généralement affichée en vert ou jaune, indiquant qu’il est sûr d’exécuter la mise à niveau Leapp.

Les symptômes suivants indiquent certaines erreurs courantes signalées pendant le processus de mise à niveau de Leapp.

Symptôme 1 de mise à niveau : Espace insuffisant disponible sur /var/lib/leapp/scratch

Si vous exécutez la mise à niveau De l’application, vous pouvez recevoir le message d’erreur « Espace insuffisant disponible » suivant :

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

Solution de mise à niveau 1 : étendre le système de fichiers

Étendez le système de fichiers sur lequel /var/lib/leapp est monté. En règle générale, le montage se trouve sur /dev/mapper/rootvg-varlv.

En règle générale, la sortie est affichée en vert ou jaune, ce qui indique que vous pouvez effectuer la mise à niveau Leapp en toute sécurité.

Symptôme 2 de mise à niveau : openssl-libs-1:1.1.1k-12.el8_9.x86_64 est en conflit avec le fichier du package openssl11-libs-1:1.1.1k-7.el7.x86_64

Un conflit existe entre les bibliothèques des sources suivantes :

  • Le package openssl11-libs à partir du dépôt Extra Packages for Enterprise Linux (EPEL)
  • Packages openssl et openssl-libs pour RHEL 8 fournis par Red Hat (requis pour la mise à niveau sur place)

Dans ce cas, le message d’erreur ci-dessous s’affiche :

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.

Solution de mise à niveau 2 : Supprimer le package openssl11-*

Vérifiez que le package openssl11-* a été installé pour un fournisseur tiers. Si ce package provient d’un fournisseur tiers, supprimez-le, comme indiqué dans les commandes suivantes.

Remarque

Ce message d’erreur de conflit peut être généré si vous utilisez un autre gestionnaire de package tiers. Dans cet exemple, le conflit était avec 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

Avertissement

Si d’autres packages, tels que nodejs et nodejs-libs du référentiel EPEL, sont supprimés en raison des problèmes de dépendance affichés dans la sortie précédente, sauvegardez les fichiers de configuration associés et réinstallez les mêmes packages manuellement après la mise à niveau sur place.

Symptôme 3 de mise à niveau : Problème avec le package installé ansible-2.9.27-1.el7ae.noarch et ansible-test-2.9.27-1.el7ae.noarch

Si vous exécutez la mise à niveau De l’application, vous pouvez recevoir le message d’erreur « Échec de l’exécution DNF avec un code de sortie différent de zéro » :

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"}

Mise à niveau de la solution 3 : Supprimer des packages Ansible

La mise à niveau sur place n’est pas prise en charge pour les systèmes qui ont des produits Ansible. Pour plus d’informations, consultez Upgrading_from_rhel_7_to_rhel_8. Pour supprimer des packages Ansible, exécutez la commande suivante :

sudo yum remove ansible ansible-test

Symptôme 4 de mise à niveau : ImportError: /lib64/libk5crypto.so.3 : symbole non défini

Il existe une incompatibilité ou un symbole manquant dans la bibliothèque OpenSSL dont libk5crypto a besoin, comme indiqué dans la sortie suivante :

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

Mise à niveau de la solution 4 : Supprimer ou renommer le fichier en conflit et mettre à jour l’éditeur de liens dynamiques

Un chemin de bibliothèque OpenSSL personnalisé dans /etc/ld.so.conf.d/openssl-1.1.1d.conf provoque le problème :

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

Pour résoudre le conflit, supprimez ou renommez ce fichier. Ensuite, mettez à jour les liaisons d’exécution de l’éditeur de liens dynamiques en exécutant ldconfig:

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

La ldconfig commande met à jour les liens symboliques et reconstruit le cache pour vous assurer que la bibliothèque nouvellement installée est correctement liée et disponible pour une utilisation par d’autres groupes.

Cette action garantit que le système utilise les versions correctes des bibliothèques OpenSSL et libk5crypto. En outre, cette action doit corriger l’ImportationError liée au symbole EVP_KDF_ctrlnon défini.

Symptôme de mise à niveau 5 : la mise à niveau de Leapp ne monte pas un appareil pendant la mise à niveau

Si vous exécutez la mise à niveau de Leapp, vous pouvez recevoir le message d’erreur de montage de l’appareil suivant :

[    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()

Solution de mise à niveau 5 : Restaurer la machine virtuelle et supprimer l’UUID

  1. Restaurez la machine virtuelle à partir de l’instantané ou de la sauvegarde.

  2. Vérifiez si l’UUID à partir du message d’erreur existe sur la machine virtuelle. Si l’UUID existe, commentez-le ou supprimez-le du fichier /etc/fstab .

    sudo blkid
    
    sudo cat /etc/fstab
    
  3. Réexécutez la commande de mise à niveau Leapp.

Symptôme 6 de mise à niveau : Impossible de monter n/a sur /sys/fs/cgroup sur RHEL 7.9

Si vous exécutez la mise à niveau De l’application, vous pouvez recevoir le message d’erreur « Échec du montage » suivant :

[ 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’échec de montage se produit, car la version 2 du groupe de contrôles (cgroup v2) n’est pas prise en charge sur RHEL 7. Pour plus d’informations, consultez [UIP 7>8] Leapp échoue avec cgroup v2 qui n’est pas pris en charge.

Mise à niveau de la solution 6 : Supprimer le paramètre systemd.unified_cgroup_hierarchy

  1. Restaurez la machine virtuelle à partir de l’instantané ou d’une sauvegarde.

  2. Avant d’exécuter la mise à niveau Leapp, vérifiez si le paramètre systemd.unified_cgroup_hierarchy=1 se trouve dans /proc/cmdline ou /etc/default/grub.

  3. Si ce paramètre se trouve dans l’un de ces fichiers, supprimez le paramètre du fichier, puis réexécutez le processus de mise à niveau Leapp.

Symptôme de mise à niveau 7 : la mise à niveau de Leapp ne se poursuit pas après le redémarrage, et la machine virtuelle démarre dans RHEL 8.10 à la place

Si vous exécutez la mise à niveau Leapp de RHEL 8.10 vers la version 9.4 ou 9.5, le processus de mise à niveau peut ne pas continuer après le redémarrage requis. Au lieu de cela, la machine virtuelle démarre dans RHEL 8.10 sans charger l’initramfs de mise à niveau spéciale.

Le paramètre /etc/default/grub suivant peut entraîner ce problème :

GRUB_DEFAULT=0

Étant donné que GRUB_DEFAULT=0 le système force le système à démarrer toujours la première entrée de menu dans GRUB, il ignore l’entrée de mise à niveau Leapp et continue de démarrer dans l’environnement RHEL 8.10 existant.

Mise à niveau de la solution 7 : Modifier GRUB pour utiliser l’entrée enregistrée

  1. Remplacez GRUB_DEFAULT=0 par GRUB_DEFAULT=saved :

    Remarque

    Dans cet exemple, GRUB_DEFAULT est défini 0sur , mais dans votre environnement, il peut être 1 ou un autre nombre. Veillez à le remplacer en conséquence dans la sed commande.

    sudo sed -i 's/^GRUB_DEFAULT=0/GRUB_DEFAULT=saved/' /etc/default/grub
    
  2. Régénérez la configuration GRUB :

    • GEN 1 :

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

      grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
      
  3. Redémarrez la machine virtuelle à l’aide de la console série :

    sudo reboot
    

    Après le redémarrage, si le correctif est appliqué correctement, la machine virtuelle démarre dans l’initramfs de mise à niveau Leapp, et vous devez voir une sortie similaire aux lignes suivantes dans la console série :

    [  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
    

    Cette sortie indique que le processus de mise à niveau Leapp a continué avec succès. Une fois l’opération terminée, la machine virtuelle doit démarrer dans RHEL 9.x.

Important

Si la mise à niveau de Leapp échoue toujours sans raison évidente (par exemple, lors de la mise à niveau de la version 7.9 vers la version 8.10 ou de la version 8.10 vers la version 9.5), ne mettez pas à niveau vers la dernière version. Essayez plutôt de procéder à une mise à niveau vers une version intermédiaire (par exemple, de la version 7.9 à la version 8.8 ou de la version 8.10 vers la version 9.4) en spécifiant l’indicateur --target x.y . Une fois la mise à niveau intermédiaire réussie, vous pouvez essayer de procéder à la mise à niveau vers la dernière version.

Exclusion de responsabilité de tiers

Les produits tiers mentionnés dans le présent article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute garantie, implicite ou autre, concernant les performances ou la fiabilité de ces produits.

Exclusion de responsabilité sur les coordonnées externes

Microsoft fournit des informations de contacts externes afin de vous aider à obtenir un support technique sur ce sujet. Ces informations de contact peuvent être modifiées sans préavis. Microsoft ne garantit pas l’exactitude des informations concernant les sociétés externes.

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.