Вопрос или проблема
Я пытаюсь выполнить обновление RHEL с версии 8.10 до 9.4 с помощью команды leapp preupgrade
, и возникает ошибка таймаута:
dnf.exceptions.RepoError: Не удалось загрузить метаданные для репозитория ‘epel’: Не удаётся подготовить внутренний список зеркал: Ошибка Curl (28): истекло время ожидания для https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=x86_64&infra=$infra&content=$contentdir [Соединение прервано после 30000 миллисекунд]
Вот полный вывод команды:
$ sudo leapp preupgrade
[sudo] пароль для cmadmin:
==> Обработка фазы `configuration_phase`
====> * ipu_workflow_config
Конфигурация рабочего процесса IPU
==> Обработка фазы `FactsCollection`
====> * scan_subscription_manager_info
Сканирует текущую систему для получения информации о менеджере подписки
====> * scan_custom_modifications_actor
Собирает информацию о файлах в директориях leapp, которые были изменены или добавлены.
====> * read_openssh_config
Собирает информацию о конфигурации OpenSSH.
====> * network_manager_connection_scanner
Сканирует ключевые файлы подключения NetworkManager
====> * udevadm_info
Производит данные, экспортируемые командой "udevadm info".
====> * nis_scanner
Собирает информацию о конфигурации пакетов NIS.
====> * firewalld_collect_global_config
Этот актер читает конфигурацию firewalld и создает модель
====> * scan_source_files
Сканирует файлы (явно указанные) исходной системы.
====> * common_leapp_dracut_modules
Влияет на генерацию initram диска
====> * roce_scanner
Обнаруживает активные RoCE сетевые карты на машинах IBM Z.
====> * copy_dnf_conf_into_target_userspace
Копирует dnf.conf в целевое пространство пользователей
====> * scan_systemd_source
Предоставляет информацию о systemd на исходной системе
====> * scanmemory
Сканирует память машины.
====> * check_custom_network_scripts
Проверяет наличие пользовательских сетевых скриптов и предупреждает пользователя о возможных
====> * rpm_scanner
Предоставляет данные о установленных RPM пакетах.
Процесс Process-218:
Traceback (последний вызов последний):
Файл "/usr/lib/python3.6/site-packages/dnf/repo.py", строка 573, в load
ret = self._repo.load()
Файл "/usr/lib64/python3.6/site-packages/libdnf/repo.py", строка 397, в load
return _repo.Repo_load(self)
libdnf._error.Error: Не удалось загрузить метаданные для репозитория 'epel': Не удаётся подготовить внутренний список зеркал: Ошибка Curl (28): истекло время ожидания для https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=x86_64&infra=$infra&content=$contentdir [Соединение прервано после 30000 миллисекунд]
При обработке исключения выше произошло другое исключение:
Traceback (последний вызов последний):
Файл "/usr/lib64/python3.6/multiprocessing/process.py", строка 258, в _bootstrap
self.run()
Файл "/usr/lib64/python3.6/multiprocessing/process.py", строка 93, в run
self._target(*self._args, **self._kwargs)
Файл "/usr/lib/python3.6/site-packages/leapp/repository/actor_definition.py", строка 74, в _do_run
actor_instance.run(*args, **kwargs)
Файл "/usr/lib/python3.6/site-packages/leapp/actors/__init__.py", строка 289, в run
self.process(*args)
Файл "/etc/leapp/repos.d/system_upgrade/common/actors/rpmscanner/actor.py", строка 20, в process
rpmscanner.process()
Файл "/etc/leapp/repos.d/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py", строка 111, в process
rpm_streams = map_modular_rpms_to_modules()
Файл "/etc/leapp/repos.d/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py", строка 87, в map_modular_rpms_to_modules
modules = module_lib.get_modules()
Файл "/etc/leapp/repos.d/system_upgrade/common/libraries/module.py", строка 57, в get_modules
base = _create_or_get_dnf_base(base)
Файл "/etc/leapp/repos.d/system_upgrade/common/libraries/module.py", строка 47, в _create_or_get_dnf_base
base.fill_sack()
Файл "/usr/lib/python3.6/site-packages/dnf/base.py", строка 405, в fill_sack
self._add_repo_to_sack(r)
Файл "/usr/lib/python3.6/site-packages/dnf/base.py", строка 140, в _add_repo_to_sack
repo.load()
Файл "/usr/lib/python3.6/site-packages/dnf/repo.py", строка 580, в load
raise dnf.exceptions.RepoError(str(e))
dnf.exceptions.RepoError: Не удалось загрузить метаданные для репозитория 'epel': Не удаётся подготовить внутренний список зеркал: Ошибка Curl (28): истекло время ожидания для https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=x86_64&infra=$infra&content=$contentdir [Соединение прервано после 30000 миллисекунд]
2024-10-02 09:37:15.472 ОШИБКА PID: 3792 leapp.workflow.FactsCollection: Актер rpm_scanner завершился с ошибкой: Traceback (последний вызов последний):
Файл "/usr/lib/python3.6/site-packages/dnf/repo.py", строка 573, в load
ret = self._repo.load()
Файл "/usr/lib64/python3.6/site-packages/libdnf/repo.py", строка 397, в load
return _repo.Repo_load(self)
libdnf._error.Error: Не удалось загрузить метаданные для репозитория 'epel': Не удаётся подготовить внутренний список зеркал: Ошибка Curl (28): истекло время ожидания для https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=x86_64&infra=$infra&content=$contentdir [Соединение прервано после 30000 миллисекунд]
При обработке исключения выше произошло другое исключение:
Traceback (последний вызов последний):
Файл "/usr/lib/python3.6/site-packages/leapp/repository/actor_definition.py", строка 74, в _do_run
actor_instance.run(*args, **kwargs)
Файл "/usr/lib/python3.6/site-packages/leapp/actors/__init__.py", строка 289, в run
self.process(*args)
Файл "/etc/leapp/repos.d/system_upgrade/common/actors/rpmscanner/actor.py", строка 20, в process
rpmscanner.process()
Файл "/etc/leapp/repos.d/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py", строка 111, в process
rpm_streams = map_modular_rpms_to_modules()
Файл "/etc/leapp/repos.d/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py", строка 87, в map_modular_rpms_to_modules
modules = module_lib.get_modules()
Файл "/etc/leapp/repos.d/system_upgrade/common/libraries/module.py", строка 57, в get_modules
base = _create_or_get_dnf_base(base)
Файл "/etc/leapp/repos.d/system_upgrade/common/libraries/module.py", строка 47, в _create_or_get_dnf_base
base.fill_sack()
Файл "/usr/lib/python3.6/site-packages/dnf/base.py", строка 405, в fill_sack
self._add_repo_to_sack(r)
Файл "/usr/lib/python3.6/site-packages/dnf/base.py", строка 140, в _add_repo_to_sack
repo.load()
Файл "/usr/lib/python3.6/site-packages/dnf/repo.py", строка 580, в load
raise dnf.exceptions.RepoError(str(e))
dnf.exceptions.RepoError: Не удалось загрузить метаданные для репозитория 'epel': Не удаётся подготовить внутренний список зеркал: Ошибка Curl (28): истекло время ожидания для https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=x86_64&infra=$infra&content=$contentdir [Соединение прервано после 30000 миллисекунд]
============================================================================================
Актер rpm_scanner завершился неожиданно с кодом выхода: 1 - Пожалуйста, проверьте вышеуказанные детали
============================================================================================
Отладочный вывод записан в /var/log/leapp/leapp-preupgrade.log
============================================================
ОБЗОР ОТЧЕТА
============================================================
Сводка отчетов:
Ошибки: 1
Запреты: 0
Отчеты с ВЫСОКОЙ серьезностью: 0
Отчеты со СРЕДНЕЙ серьезностью: 0
Отчеты с НИЗКОЙ серьезностью: 0
Отчеты с информационной серьезностью: 0
Перед продолжением ознакомьтесь с полным отчетом:
Отчет был сгенерирован в /var/log/leapp/leapp-report.json
Отчет был сгенерирован в /var/log/leapp/leapp-report.txt
============================================================
КОНЕЦ ОБЗОРА ОТЧЕТА
============================================================
Файл ответов был сгенерирован в /var/log/leapp/answerfile
Содержимое leapp-report.txt
следующее:
Фактор риска: высокий (ошибка)
Заголовок: Актер rpm_scanner неожиданно завершился с кодом выхода: 1
Резюме: Traceback (последний вызов последний):
Файл "/usr/lib/python3.6/site-packages/dnf/repo.py", строка 573, в load
ret = self._repo.load()
Файл "/usr/lib64/python3.6/site-packages/libdnf/repo.py", строка 397, в load
return _repo.Repo_load(self)
libdnf._error.Error: Не удалось загрузить метаданные для репозитория 'epel': Не удаётся подготовить внутренний список зеркал: Ошибка Curl (28): истекло время ожидания для https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=x86_64&infra=$infra&content=$contentdir [Соединение прервано после 30000 миллисекунд]
При обработке исключения выше произошло другое исключение:
Traceback (последний вызов последний):
Файл "/usr/lib/python3.6/site-packages/leapp/repository/actor_definition.py", строка 74, в _do_run
actor_instance.run(*args, **kwargs)
Файл "/usr/lib/python3.6/site-packages/leapp/actors/__init__.py", строка 289, в run
self.process(*args)
Файл "/etc/leapp/repos.d/system_upgrade/common/actors/rpmscanner/actor.py", строка 20, в process
rpmscanner.process()
Файл "/etc/leapp/repos.d/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py", строка 111, в process
rpm_streams = map_modular_rpms_to_modules()
Файл "/etc/leapp/repos.d/system_upgrade/common/actors/rpmscanner/libraries/rpmscanner.py", строка 87, в map_modular_rpms_to_modules
modules = module_lib.get_modules()
Файл "/etc/leapp/repos.d/system_upgrade/common/libraries/module.py", строка 57, в get_modules
base = _create_or_get_dnf_base(base)
Файл "/etc/leapp/repos.d/system_upgrade/common/libraries/module.py", строка 47, в _create_or_get_dnf_base
base.fill_sack()
Файл "/usr/lib/python3.6/site-packages/dnf/base.py", строка 405, в fill_sack
self._add_repo_to_sack(r)
Файл "/usr/lib/python3.6/site-packages/dnf/base.py", строка 140, в _add_repo_to_sack
repo.load()
Файл "/usr/lib/python3.6/site-packages/dnf/repo.py", строка 580, в load
raise dnf.exceptions.RepoError(str(e))
dnf.exceptions.RepoError: Не удалось загрузить метаданные для репозитория 'epel': Не удаётся подготовить внутренний список зеркал: Ошибка Curl (28): истекло время ожидания для https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=x86_64&infra=$infra&content=$contentdir [Соединение прервано после 30000 миллисекунд]
Ключ: 474839c3aa4b047aadb49dc9f932f2d18033ced9
----------------------------------------
Ответ или решение
При выполнении команды leapp preupgrade
для обновления RHEL с версии 8.10 до 9.4 возникает ошибка таймаута при подключении к репозиторию EPEL, что, как правило, связано с проблемами сетевого соединения или конфигурации репозиториев. Ниже приведены шаги для диагностики и решения данной проблемы:
Шаги для решения проблемы
-
Проверка сетевого соединения:
- Убедитесь, что у вас есть доступ в интернет. Попробуйте выполнить команду:
ping mirrors.fedoraproject.org
- Если пинг не проходит, проверьте настройки сети и соединение.
- Убедитесь, что у вас есть доступ в интернет. Попробуйте выполнить команду:
-
Проверка конфигурации репозитория EPEL:
- Откройте файл конфигурации репозитория EPEL, который обычно находится в
/etc/yum.repos.d/epel.repo
, и убедитесь, что URL-адрес указан правильно. - Пример секции для EPEL:
[epel] name=Extra Packages for Enterprise Linux 8 - $basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-$releasever&arch=$basearch&infra=$infra&content=$contentdir enabled=1 gpgcheck=1
- Откройте файл конфигурации репозитория EPEL, который обычно находится в
-
Изменение URL-адреса репозитория:
- Если URL-адрес в конфигурации выглядит некорректно или вы хотите попробовать другой, вы можете закомментировать
mirrorlist
и использовать прямой URL. Например:baseurl=https://download.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/
- Если URL-адрес в конфигурации выглядит некорректно или вы хотите попробовать другой, вы можете закомментировать
-
Установите более длительный таймаут для DNF:
- Откройте файл
/etc/dnf/dnf.conf
и добавьте или измените следующие строки для увеличения таймаута:timeout=60
- Откройте файл
-
Обновление кэша DNF:
- После изменения конфигураций попробуйте обновить кэш:
sudo dnf clean all sudo dnf makecache
- После изменения конфигураций попробуйте обновить кэш:
-
Запуск
leapp preupgrade
снова:- После внесения изменений в конфигурацию репозиториев или сетевых настройках снова выполните команду:
sudo leapp preupgrade
- После внесения изменений в конфигурацию репозиториев или сетевых настройках снова выполните команду:
-
Проверка логов:
- Если проблема не решится, просмотрите логи Leapp для получения более подробной информации о том, что может вызывать ошибки:
less /var/log/leapp/leapp-preupgrade.log
- Если проблема не решится, просмотрите логи Leapp для получения более подробной информации о том, что может вызывать ошибки:
Заключение
Если вы выполнили все вышеперечисленные шаги и проблема все еще не решена, возможно, стоит обратиться к системному администратору, который сможет диагностировать проблемы с сетью или конфигурацией системы более детально. Также, стоит рассмотреть возможность обращения в поддержку Red Hat для дополнительной помощи.