Udostępnij za pośrednictwem


Rozwiązywanie problemów z uaktualnianiem systemu operacyjnego Red Hat

Dotyczy: ✔️ maszyny wirtualne z systemem Linux

Przeprowadzenie poważnego uaktualnienia w systemie Red Hat Enterprise Linux (RHEL) obejmuje przejście z jednej wersji głównej na inną wersję główną, na przykład z RHEL 7 do RHEL 8 lub RHEL 8 do RHEL 9. Poważne uaktualnienia przynoszą znaczące zmiany, w tym nowe funkcje, ulepszenia i usprawnienia w zakresie zabezpieczeń i wydajności. Proces ten może być złożony, ale Red Hat udostępnia narzędzia i wskazówki, które upraszczają i usprawniają proces uaktualniania.

Przykładem jest narzędzie Leapp. Narzędzie Leapp zostało zaprojektowane w celu zautomatyzowania procesu uaktualniania systemów RHEL do następnej wersji głównej. Wykonuje kontrole, udostępnia zalecenia i pomaga rozwiązać wszelkie problemy występujące podczas uaktualniania. W tym artykule omówiono sposób rozwiązywania typowych problemów występujących podczas korzystania z narzędzia Leapp podczas głównego uaktualniania systemu operacyjnego Red Hat.

Uwaga

30 czerwca 2024 r. system Red Hat Enterprise Linux 7 osiągnął koniec wsparcia konserwacyjnego 2 fazy. Po fazie konserwacji następuje faza rozszerzonego okresu eksploatacji. Ponieważ system Red Hat Enterprise Linux 7 przechodzi poza fazy pełnej i konserwacji, należy uaktualnić system Red Hat Enterprise Linux 8 lub 9. Jeśli musisz pozostać w systemie Red Hat Enterprise Linux 7, zalecamy dodanie dodatku Red Hat Enterprise Linux Extended Life Cycle Support (ELS).

Zalecenia przed uaktualnieniem

Przed rozpoczęciem procesu preupgradacji i uaktualniania aplikacji Leapp upewnij się, że wykonasz następujące czynności:

  • Utwórz kopię zapasową maszyny wirtualnej lub migawkę dysku systemu operacyjnego.

  • Wyczyść wystarczająco dużo miejsca, /var/lib/leapp aby pomieścić uaktualnienie. Najlepszym rozwiązaniem jest posiadanie co najmniej 2–5 GB wolnego miejsca.

  • Skonfiguruj dostęp do konsoli szeregowej.

Po wykonaniu tych zadań można uruchomić procesy preupgradacji i uaktualniania aplikacji Leapp za pomocą konsoli szeregowej.

Problemy i błędy hamujące

Problemy z inhibitorami to konkretne problemy, które są identyfikowane podczas oceny wstępnej, które uniemożliwiają kontynuowanie uaktualnienia. Te problemy są krytyczne i należy je rozwiązać, zanim będzie można przejść do uaktualnienia. Należy wyeliminować problemy z inhibitorami, aby utrzymać stabilność i funkcjonalność systemu podczas i po uaktualnieniu.

Błędy odnoszą się do problemów, które mogą wystąpić podczas procesu uaktualniania, które potencjalnie powodują przerwy lub błędy. Te błędy mogą wystąpić na różnych etapach, zarówno podczas testów wstępnych, jak i podczas rzeczywistego uaktualnienia.

Typowe typy inhibitorów

Typ inhibitora opis
Nieobsługiwane pakiety Pakiety zainstalowane w bieżącym systemie, które są niedostępne lub nieobsługiwane w wersji docelowej
Niezgodny sprzęt Składniki sprzętowe, które nie są obsługiwane w wersji docelowej
Problemy z konfiguracją Konfiguracje systemu, które są niezgodne z nową wersją i wymagają korekt
Oprogramowanie innych producentów Oprogramowanie inne niż Red Hat, które może zakłócać proces uaktualniania
Układ systemu plików Problemy związane z układem systemu plików systemu operacyjnego, takie jak schematy partycjonowania, które nie są obsługiwane w wersji docelowej
Zmiany sieci Konfiguracje sieci, które należy zaktualizować w celu dostosowania ich do stosu sieciowego nowej wersji
Skrypty niestandardowe Niestandardowe skrypty lub zadania cron, które mogą być niezgodne z nową wersją

Typowe typy błędów

Typ błędu opis
Błędy instalacji Błędy występujące podczas instalowania pakietów podczas uaktualniania
Błędy usługi Usługi, które nie są uruchamiane lub zatrzymywane poprawnie podczas procesu uaktualniania
Problemy z systemem plików Problemy związane z miejscem na dysku, uszkodzeniem pliku lub punktami instalacji
Problemy z siecią Problemy z łącznością sieciową wpływające na pobieranie lub instalowanie pakietów

Znajdowanie inhibitorów lub błędów w raporcie Leapp

Raport Leapp znajduje się w lokalizacji /var/log/leapp/leapp-report.txt. Otwórz raport i poszukaj sekcji oznaczonych jako inhibitory. W tych sekcjach wymieniono problemy, które należy rozwiązać.

Dla każdego inhibitora raport zazwyczaj zawiera szczegółowe kroki korygowania. Te kroki mogą obejmować polecenia do uruchomienia, pakiety do zainstalowania lub zmiany konfiguracji, które należy wprowadzić.

Poniższa lista zawiera typowe wystąpienia danych wyjściowych, które opisują inhibitor i jego korygowanie:

  • Wyjście inhibitora 1

    Inhibitor: Missing package 'pkg_name' required for upgrade.
    Remediation: Install the missing package by running:
    [command] sudo yum install pkg_name
    
  • Wyjście inhibitora 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
    
  • Wyjście inhibitora 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
    
  • Wyjście inhibitora 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.
    
  • Wyjście inhibitora 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
    
  • Wyjście inhibitora 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
    
  • Wyjście inhibitora 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>
    
  • Wyjście inhibitora 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
    
  • Wyjście inhibitora 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
    
  • Wyjście inhibitora 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
    

Uwaga 16.

Dokładnie zbadaj cały raport preupgrade, nawet jeśli nie zawiera żadnych inhibitorów. Raport zawiera zalecane akcje, które należy wykonać przed uaktualnieniem, aby system działał prawidłowo później.

Po naprawieniu wszystkich inhibitorów ponownie uruchom kontrolę przedsprzedaży, aby upewnić się, że wszystkie problemy zostały rozwiązane.

Typowe problemy z preupgradem aplikacji Leapp

Objaw preupgrade 1: Uszkodzona lub brakująca biblioteka urllib3

Uszkodzona lub brakująca biblioteka urllib3 w języku Python generuje następujący komunikat o błędzie:

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

Rozwiązanie wstępne 1: ponowne zainstalowanie pakietu python-urllib3

Zainstaluj ponownie pakiet python-urllib3, uruchamiając następujące polecenia:

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

Objaw preupgrade 2: Przekroczono limit czasu połączenia po 30 001 milisekundach

Blok komunikacji z adresami IP infrastruktury aktualizacji systemu Red Hat (RHUI) generuje następujący komunikat o błędzie:

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

Wstępne rozwiązanie 2: Zezwalaj na łączność RHUI

Zezwalaj na łączność z interfejsem RHUI. Aby uzyskać więcej informacji, zobacz Linux RHUI connectivity issues (Problemy z łącznością z systemem Linux RHUI).

Objaw preupgrade 3: Polecenie menedżera subskrypcji nie zostało uruchomione

Jeśli uruchomisz uaktualnienie usługi Leapp z menedżerem subskrypcji Red Hat na obrazie z płatnością zgodnie z rzeczywistym użyciem (PayGo), może zostać wyświetlony następujący komunikat o błędzie:

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

Rozwiązanie wstępne 3: Obejście narzędzia subscription-manager

W przypadku korzystania z obrazu paygo na platformie Azure nie można uruchomić subscription-manager narzędzia, ponieważ system jest przeznaczony do używania funkcji RHUI. Należy określić flagę, która --no-rhsm ma być pomijana subscription-manager podczas uaktualniania.

objaw preupgrade 4: Preupgrade leapp nie instaluje pakietów userspace systemu RHEL 8 ("execv() nie powiodło się: nie ma takiego pliku lub katalogu")

Jeśli uruchomisz wstępną wersję aplikacji Leapp, może zostać wyświetlony następujący komunikat o błędzie "Nie można zainstalować pakietów userspace systemu 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

Może również zostać wyświetlony następujący komunikat o błędzie "Nie można uzyskać danych dotyczących konfiguracji systemu plików 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 solution 4: Instalowanie pakietu dnf

Upewnij się, że pakiet dnf jest zainstalowany i że z tym pakietem nie są skojarzone żadne problemy lub uszkodzone pliki:

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

Objaw preupgrade 5: /var/lib/leapp/el8userspace', '/bin/bash', '-c', 'su - -c update-ca-trust'] nie powiodło się z kodem zakończenia 1

Jeśli uruchomisz preupgrade aplikacji Leapp, może zostać wyświetlony następujący komunikat o błędzie "Aktor target_userspace_creator nieoczekiwanie zakończony":

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

Rozwiązanie wstępne 5: Ponowne instalowanie certyfikatów urzędu certyfikacji i aktualizowanie zaufania urzędu certyfikacji

Wystąpił problem w istniejącym pakiecie ca-certificates , który spowodował update-ca-trust niepowodzenie polecenia. Aby rozwiązać ten problem, zainstaluj ponownie pakiet ca-certificates i uruchom update-ca-trust polecenie:

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

objaw preupgrade 6: FileNotFoundError: [Errno 2] Brak takiego pliku lub katalogu: '/etc/leapp/repos.d/system_upgrade/common/files/rhui/azure-XX/content-XX.crt'

Jeśli spróbujesz uruchomić polecenie leapp preupgrade w wersji RHEL 8 dla SAP-HANA programu lub SAPApps ma leapp wersję narzędzia lub na podstawie obrazów red hat, które mają wersję leapp-rhui-azure-1.0.0-14.el8.noarchlapp-rhui-azure-sap-1.0.0-14.el8.noarch, zostanie wygenerowany następujący komunikat o błędzie:

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

Obrazy SAP-HA generują:

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

Obrazy sapApps generują:

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

Obrazy podstawowe są generowane:

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

wstępne rozwiązanie 6

Obejściem tego problemu jest obniżenie wersji leapp-rhui-azure-sap programu na leapp-rhui-azure-sap-1.0.0-10.el8.noarch potrzeby obrazów SAP oraz wersji leapp-rhui-azure dla leapp-rhui-azure-1.0.0-10.el8.noarch obrazów podstawowych oprogramowania Red Hat.

Obrazy SAP:

sudo dnf downgrade leapp-rhui-azure-sap 

Obrazy podstawowe:

sudo dnf downgrade leapp-rhui-azure

Po rozwiązaniu wszystkich inhibitorów uruchom ponownie preupgrade i upewnij się, że wszystkie problemy zostały rozwiązane.

Typowe problemy z uaktualnianiem aplikacji Leapp

Po sprawozdaniu z preugradacji nie ma błędów ani inhibitorów i wszystko jest oznaczone jako rozwiązane, przejdź do uaktualnienia leapp. W tym raporcie dane wyjściowe są zwykle wyświetlane w kolorze zielonym lub żółtym, co oznacza, że można bezpiecznie uruchomić uaktualnienie usługi Leapp.

Następujące objawy wskazują niektóre typowe błędy zgłaszane podczas procesu uaktualniania aplikacji Leapp.

Objaw podczas uaktualniania 1: za mało miejsca dostępnego w /var/lib/leapp/scratch

W przypadku uruchomienia uaktualnienia leapp może zostać wyświetlony następujący komunikat o błędzie "Za mało dostępnego miejsca":

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

Rozwiązanie uaktualniania 1: Rozszerzanie systemu plików

Rozszerz system plików, na którym /var/lib/leapp jest zainstalowany. Zazwyczaj instalowanie jest na /dev/mapper/rootvg-varlv.

Zazwyczaj dane wyjściowe są wyświetlane w kolorze zielonym lub żółtym, co oznacza, że można bezpiecznie przeprowadzić uaktualnienie usługi Leapp.

Objaw podczas uaktualniania 2: plik openssl-libs-1:1.1.1k-12.el8_9.x86_64 powoduje konflikt z plikiem z pakietu openssl11-libs-1:1.1.1k-7.el7.x86_64

Istnieje konflikt między bibliotekami z następujących źródeł:

  • Pakiet openssl11-libs z repozytorium Extra Packages for Enterprise Linux (EPEL)
  • Pakiety openssl i openssl-libs dla systemu RHEL 8 dostarczane przez system Red Hat (wymagane do uaktualnienia w miejscu)

W tej sytuacji pojawia się następujący komunikat o błędzie:

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.

Uaktualnienie rozwiązania 2: Usuwanie pakietu openssl11-*

Sprawdź, czy pakiet openssl11-* został zainstalowany dla dostawcy innej firmy. Jeśli ten pakiet pochodzi od dostawcy innej firmy, usuń go, jak pokazano w poniższych poleceniach.

Uwaga 16.

Ten komunikat o błędzie powodujący konflikt może zostać wygenerowany, jeśli używasz innego menedżera pakietów innej firmy. W tym przykładzie konflikt dotyczył pliku 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

Ostrzeżenie

Jeśli inne pakiety, takie jak nodejs i nodejs-libs z repozytorium EPEL, zostaną usunięte z powodu problemów z zależnościami wyświetlanymi w poprzednich danych wyjściowych, utwórz kopię zapasową powiązanych plików konfiguracji i ponownie zainstaluj te same pakiety ręcznie po uaktualnieniu w miejscu.

Objaw podczas uaktualniania 3: problem z zainstalowanym pakietem ansible-2.9.27-1.el7ae.noarch i ansible-test-2.9.27-1.el7ae.noarch

Jeśli uruchomisz uaktualnienie usługi Leapp, może zostać wyświetlony następujący komunikat o błędzie "Wykonywanie systemu plików DNF nie powiodło się z kodem zakończenia bez zera":

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

Uaktualnianie rozwiązania 3: Usuwanie pakietów rozwiązania Ansible

Uaktualnienie w miejscu nie jest obsługiwane w przypadku systemów, które mają jakiekolwiek produkty Ansible. Aby uzyskać więcej informacji, zobacz Upgrading_from_rhel_7_to_rhel_8. Aby usunąć pakiety Rozwiązania Ansible, uruchom następujące polecenie:

sudo yum remove ansible ansible-test

Objaw podczas uaktualniania 4: ImportError: /lib64/libk5crypto.so.3: niezdefiniowany symbol

W bibliotece OpenSSL występuje niezgodność lub brak symbolu, którego wymaga biblioteka libk5crypto , jak pokazano w następujących danych wyjściowych:

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

Uaktualnij rozwiązanie 4: Usuwanie lub zmienianie nazwy pliku w konflikcie i aktualizowanie konsolidatora dynamicznego

Niestandardowa ścieżka biblioteki OpenSSL w pliku /etc/ld.so.conf.d/openssl-1.1.1d.conf powoduje problem:

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

Aby rozwiązać konflikt, usuń lub zmień nazwę tego pliku. Następnie zaktualizuj powiązania dynamicznego konsolidatora czasu wykonywania, uruchamiając polecenie ldconfig:

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

Polecenie ldconfig aktualizuje linki syymlinki i ponownie kompiluje pamięć podręczną, aby upewnić się, że nowo zainstalowana biblioteka jest poprawnie połączona i dostępna do użycia przez inne grupy.

Ta akcja zapewnia, że system używa poprawnych wersji bibliotek OpenSSL i libk5crypto. Ponadto ta akcja powinna naprawić błąd ImportError powiązany z niezdefiniowanym symbolem EVP_KDF_ctrl.

Objaw uaktualnienia 5: Uaktualnienie usługi Leapp nie instaluje urządzenia podczas uaktualniania

Jeśli uruchomisz uaktualnienie usługi Leapp, może zostać wyświetlony następujący komunikat o błędzie instalowania urządzenia:

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

Rozwiązanie uaktualnienia 5: Przywracanie maszyny wirtualnej i usuwanie identyfikatora UUID

  1. Przywróć maszynę wirtualną z migawki lub kopii zapasowej.

  2. Sprawdź, czy identyfikator UUID z komunikatu o błędzie istnieje na maszynie wirtualnej. Jeśli identyfikator UUID istnieje, oznacz go jako komentarz lub usuń go z pliku /etc/fstab .

    sudo blkid
    
    sudo cat /etc/fstab
    
  3. Uruchom ponownie polecenie uaktualnienia usługi Leapp.

Objaw podczas uaktualniania 6: nie można zamontować n/a w katalogu /sys/fs/cgroup w systemie RHEL 7.9

Jeśli uruchomisz uaktualnienie usługi Leapp, może zostać wyświetlony następujący komunikat o błędzie "Nie można zainstalować":

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

Błąd instalowania występuje, ponieważ wersja 2 grupy kontrolnej (cgroup v2) nie jest obsługiwana w systemie RHEL 7. Aby uzyskać więcej informacji, zobacz [IPU 7>8] Usługa Leapp kończy się niepowodzeniem z nieobsługiwaną grupą cgroup v2.

Uaktualnianie rozwiązania 6: usuwanie parametru systemd.unified_cgroup_hierarchy

  1. Przywróć maszynę wirtualną z migawki lub kopii zapasowej.

  2. Przed uruchomieniem uaktualnienia leapp sprawdź, czy parametr systemd.unified_cgroup_hierarchy=1 znajduje się w /proc/cmdline lub /etc/default/grub.

  3. Jeśli ten parametr znajduje się w jednym z tych plików, usuń parametr z pliku, a następnie uruchom ponownie proces uaktualniania aplikacji Leapp.

Objaw uaktualnienia 7: Uaktualnienie usługi Leapp nie jest kontynuowane po ponownym uruchomieniu, a zamiast tego maszyna wirtualna uruchamia się w systemie RHEL 8.10

Jeśli uruchomisz uaktualnienie leapp z wersji RHEL 8.10 do 9.4 lub 9.5, proces uaktualniania może nie być kontynuowany po wymaganym ponownym uruchomieniu. Zamiast tego maszyna wirtualna uruchamia się z powrotem do systemu RHEL 8.10 bez ładowania specjalnych initramfs uaktualnienia.

Następujące ustawienie w programie /etc/default/grub może spowodować ten problem:

GRUB_DEFAULT=0

Ponieważ GRUB_DEFAULT=0 wymusza, aby system zawsze uruchamiał pierwszy wpis menu w programie GRUB, pomija wpis uaktualnienia leapp i kontynuuje rozruch do istniejącego środowiska RHEL 8.10.

Rozwiązanie uaktualniania 7. Modyfikowanie programu GRUB w celu użycia zapisanego wpisu

  1. Zmień GRUB_DEFAULT=0 na GRUB_DEFAULT=saved:

    Uwaga 16.

    W tym przykładzie GRUB_DEFAULT ustawiono wartość 0, ale w twoim środowisku może to być 1 lub inna liczba. Upewnij się, że zastąpisz go odpowiednio w poleceniu sed .

    sudo sed -i 's/^GRUB_DEFAULT=0/GRUB_DEFAULT=saved/' /etc/default/grub
    
  2. Wygeneruj ponownie konfigurację GRUB:

    • GEN 1:

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

      grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
      
  3. Uruchom ponownie maszynę wirtualną przy użyciu konsoli szeregowej:

    sudo reboot
    

    Po ponownym uruchomieniu, jeśli poprawka zostanie zastosowana poprawnie, maszyna wirtualna uruchomi się do initramfs uaktualnienia usługi Leapp i powinny zostać wyświetlone dane wyjściowe podobne do następujących wierszy w konsoli szeregowej:

    [  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
    

    Te dane wyjściowe wskazują, że proces uaktualniania aplikacji Leapp został pomyślnie ukończony. Po zakończeniu maszyna wirtualna powinna uruchomić system RHEL 9.x.

Ważne

Jeśli uaktualnienie usługi Leapp nadal kończy się niepowodzeniem bez oczywistego powodu (na przykład podczas uaktualniania z wersji 7.9 do wersji 8.10 lub z wersji 8.10 do wersji 9.5), nie uaktualnij do najnowszej wersji. Zamiast tego spróbuj przeprowadzić uaktualnienie do wersji pośredniej (np. z wersji 7.9 do wersji 8.8 lub 8.10 do wersji 9.4), określając flagę --target x.y . Po pomyślnym uaktualnieniu pośrednim możesz spróbować przeprowadzić uaktualnienie do najnowszej wersji.

Zastrzeżenie dotyczące innych firm

Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.

Wyłączenie odpowiedzialności za kontakty z osobami trzecimi

Firma Microsoft udostępnia informacje dotyczące sposobu kontaktowania się z innymi firmami, aby ułatwić uzyskanie dodatkowych informacji w tym temacie. Informacje te mogą zostać zmienione bez powiadomienia. Firma Microsoft nie gwarantuje, że informacje dotyczące innych firm są prawidłowe.

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.