Вопрос или проблема
Большинство задач yum, которые я пытаюсь выполнить на CentOS 7 (релиз 7.6.1810), кажутся зависающими при попытке доступа к репозиториям, например, когда я запускаю yum install php
, процесс замораживается на строке, которая выглядит так:
C7.0.1406-base/primary 100% [================================] 390 kB/s | 2.4 MB 00:00:00 ETA
Процесс продолжается, когда я нажимаю Ctrl+C, но вскоре снова останавливается на аналогичной строке.
Кстати, команда yum repolist all
возвращает
Загруженные плагины: axelget, fastestmirror, langpacks
Нет метаданных для C7.0.1406-base
Нет метаданных для C7.0.1406-centosplus
repomd.xml | 2.9 kB 00:00:00
успешно обновлены метаданные C7.0.1406-extras
repomd.xml | 2.9 kB 00:00:00
успешно обновлены метаданные C7.0.1406-fasttrack
Нет метаданных для C7.0.1406-updates
Нет метаданных для C7.1.1503-base
Нет метаданных для C7.1.1503-centosplus
Нет метаданных для C7.1.1503-extras
Нет метаданных для C7.1.1503-fasttrack
Нет метаданных для C7.1.1503-updates
Нет метаданных для C7.2.1511-base
Нет метаданных для C7.2.1511-centosplus
Нет метаданных для C7.2.1511-extras
Нет метаданных для C7.2.1511-fasttrack
Нет метаданных для C7.2.1511-updates
Нет метаданных для C7.3.1611-base
Нет метаданных для C7.3.1611-centosplus
Нет метаданных для C7.3.1611-extras
Нет метаданных для C7.3.1611-fasttrack
Нет метаданных для C7.3.1611-updates
Нет метаданных для C7.4.1708-base
Нет метаданных для C7.4.1708-centosplus
Нет метаданных для C7.4.1708-extras
Нет метаданных для C7.4.1708-fasttrack
Нет метаданных для C7.4.1708-updates
Нет метаданных для base
Нет метаданных для elrepo
Нет метаданных для epel
Нет метаданных для extras
Нет метаданных для ius
Нет метаданных для rpmfusion-free-updates
Нет метаданных для rpmfusion-nonfree-updates
Нет метаданных для updates
Нет метаданных для webtatic
Загрузка скоростей зеркал из кэшированного hostfile
* base: mirrors.vooservers.com
* elrepo: mirrors.coreix.net
* epel: mirrors.ukfast.co.uk
* extras: mirror.as29550.net
* ius: lon.mirror.rackspace.com
* rpmfusion-free-updates: mirror.ehv.weppel.nl
* rpmfusion-nonfree-updates: mirror.ehv.weppel.nl
* updates: mirrors.vooservers.com
* webtatic: uk.repo.webtatic.com
(1/13): C7.0.1406-extras/x86_64/primary_db | 43 kB 00:00:00
(2/13): C7.0.1406-fasttrack/x86_64/primary_db | 124 kB 00:00:00
(3/13): C7.1.1503-extras/x86_64/primary_db | 120 kB 00:00:00
(4/13): C7.1.1503-fasttrack/x86_64/primary_db | 71 kB 00:00:00
(5/13): C7.2.1511-fasttrack/x86_64/primary_db | 1.2 kB 00:00:00
(6/13): C7.2.1511-extras/x86_64/primary_db | 166 kB 00:00:00
(7/13): C7.3.1611-fasttrack/x86_64/primary_db | 1.2 kB 00:00:00
(8/13): C7.3.1611-extras/x86_64/primary_db | 191 kB 00:00:00
(9/13): C7.4.1708-fasttrack/x86_64/primary_db | 1.2 kB 00:00:00
(10/13): C7.4.1708-extras/x86_64/primary_db | 185 kB 00:00:00
(11/13): C7.0.1406-centosplus/x86_64/primary_db | 3.5 MB 00:00:01
(12/13): C7.0.1406-base/x86_64/primary_db | 4.9 MB 00:00:01
(13/13): C7.0.1406-updates/x86_64/primary_db | 7.2 MB 00:00:02
repo id repo name status
!C7.0.1406-base/x86_64 CentOS-7.0.1406 - Base enabled: 8,465
!C7.0.1406-centosplus/x86_64 CentOS-7.0.1406 - CentOSPlus enabled: 123
!C7.0.1406-extras/x86_64 CentOS-7.0.1406 - Extras enabled: 104
!C7.0.1406-fasttrack/x86_64 CentOS-7.0.1406 - CentOSPlus enabled: 155
!C7.0.1406-updates/x86_64 CentOS-7.0.1406 - Updates enabled: 1,725
!C7.1.1503-base/x86_64 CentOS-7.1.1503 - Base enabled: 8,652
!C7.1.1503-centosplus/x86_64 CentOS-7.1.1503 - CentOSPlus enabled: 73
!C7.1.1503-extras/x86_64 CentOS-7.1.1503 - Extras enabled: 285
!C7.1.1503-fasttrack/x86_64 CentOS-7.1.1503 - CentOSPlus enabled: 110
!C7.1.1503-updates/x86_64 CentOS-7.1.1503 - Updates enabled: 1,726
!C7.2.1511-base/x86_64 CentOS-7.2.1511 - Base enabled: 9,007
!C7.2.1511-centosplus/x86_64 CentOS-7.2.1511 - CentOSPlus enabled: 134
!C7.2.1511-extras/x86_64 CentOS-7.2.1511 - Extras enabled: 393
!C7.2.1511-fasttrack/x86_64 CentOS-7.2.1511 - CentOSPlus enabled: 0
!C7.2.1511-updates/x86_64 CentOS-7.2.1511 - Updates enabled: 2,560
!C7.3.1611-base/x86_64 CentOS-7.3.1611 - Base enabled: 9,363
!C7.3.1611-centosplus/x86_64 CentOS-7.3.1611 - CentOSPlus enabled: 101
!C7.3.1611-extras/x86_64 CentOS-7.3.1611 - Extras enabled: 451
!C7.3.1611-fasttrack/x86_64 CentOS-7.3.1611 - CentOSPlus enabled: 0
!C7.3.1611-updates/x86_64 CentOS-7.3.1611 - Updates enabled: 2,146
!C7.4.1708-base/x86_64 CentOS-7.4.1708 - Base enabled: 9,591
!C7.4.1708-centosplus/x86_64 CentOS-7.4.1708 - CentOSPlus enabled: 92
!C7.4.1708-extras/x86_64 CentOS-7.4.1708 - Extras enabled: 448
!C7.4.1708-fasttrack/x86_64 CentOS-7.4.1708 - CentOSPlus enabled: 0
!C7.4.1708-updates/x86_64 CentOS-7.4.1708 - Updates enabled: 2,416
!base/7/x86_64 CentOS-7 - Base enabled: 10,019
base-debuginfo/x86_64 CentOS-7 - Debuginfo disabled
base-source/7 CentOS-7 - Base Sources disabled
c7-media CentOS-7 - Media disabled
centosplus/7/x86_64 CentOS-7 - Plus disabled
centosplus-source/7 CentOS-7 - Plus Sources disabled
cr/7/x86_64 CentOS-7 - cr disabled
!elrepo ELRepo.org Community Enterprise Linux Repository - el7 enabled: 124
elrepo-extras ELRepo.org Community Enterprise Linux Extras Repository - el7 disabled
elrepo-kernel ELRepo.org Community Enterprise Linux Kernel Repository - el7 disabled
elrepo-testing ELRepo.org Community Enterprise Linux Testing Repository - el7 disabled
!epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 enabled: 13,352
epel-debuginfo/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 - Debug disabled
epel-source/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 - Source disabled
epel-testing/x86_64 Extra Packages for Enterprise Linux 7 - Testing - x86_64 disabled
epel-testing-debuginfo/x86_64 Extra Packages for Enterprise Linux 7 - Testing - x86_64 - Debug disabled
epel-testing-source/x86_64 Extra Packages for Enterprise Linux 7 - Testing - x86_64 - Source disabled
!extras/7/x86_64 CentOS-7 - Extras enabled: 435
extras-source/7 CentOS-7 - Extras Sources disabled
fasttrack/7/x86_64 CentOS-7 - fasttrack disabled
!ius/x86_64 IUS Community Packages for Enterprise Linux 7 - x86_64 enabled: 676
ius-archive/x86_64 IUS Community Packages for Enterprise Linux 7 - x86_64 - Archive disabled
ius-archive-debuginfo/x86_64 IUS Community Packages for Enterprise Linux 7 - x86_64 - Archive Debug disabled
ius-archive-source IUS Community Packages for Enterprise Linux 7 - x86_64 - Archive Source disabled
ius-debuginfo/x86_64 IUS Community Packages for Enterprise Linux 7 - x86_64 - Debug disabled
ius-dev/x86_64 IUS Community Packages for Enterprise Linux 7 - x86_64 - Dev disabled
ius-dev-debuginfo/x86_64 IUS Community Packages for Enterprise Linux 7 - x86_64 - Dev Debug Info disabled
ius-dev-source IUS Community Packages for Enterprise Linux 7 - x86_64 - Dev Source disabled
ius-source IUS Community Packages for Enterprise Linux 7 - x86_64 - Source disabled
ius-testing/x86_64 IUS Community Packages for Enterprise Linux 7 - x86_64 - Testing disabled
ius-testing-debuginfo/x86_64 IUS Community Packages for Enterprise Linux 7 - x86_64 - Testing Debug disabled
ius-testing-source IUS Community Packages for Enterprise Linux 7 - x86_64 - Testing Source disabled
!rpmfusion-free-updates/x86_64 RPM Fusion for EL 7 - Free - Updates enabled: 247
rpmfusion-free-updates-debuginfo/x86_64 RPM Fusion for EL 7 - Free - Updates Debug disabled
rpmfusion-free-updates-source/x86_64 RPM Fusion for EL 7 - Free - Updates Source disabled
rpmfusion-free-updates-testing/x86_64 RPM Fusion for EL 7 - Free - Test Updates disabled
rpmfusion-free-updates-testing-debuginfo/x86_64 RPM Fusion for EL 7 - Free - Test Updates Debug disabled
rpmfusion-free-updates-testing-source/x86_64 RPM Fusion for EL 7 - Free - Test Updates Source disabled
!rpmfusion-nonfree-updates/x86_64 RPM Fusion for EL 7 - Nonfree - Updates enabled: 75
rpmfusion-nonfree-updates-debuginfo/x86_64 RPM Fusion for EL 7 - Nonfree - Updates Debug disabled
rpmfusion-nonfree-updates-source/x86_64 RPM Fusion for EL 7 - Nonfree - Updates Source disabled
rpmfusion-nonfree-updates-testing/x86_64 RPM Fusion for EL 7 - Nonfree - Test Updates disabled
rpmfusion-nonfree-updates-testing-debuginfo/x86_64 RPM Fusion for EL 7 - Nonfree - Test Updates Debug disabled
rpmfusion-nonfree-updates-testing-source/x86_64 RPM Fusion for EL 7 - Nonfree - Test Updates Source disabled
!updates/7/x86_64 CentOS-7 - Updates enabled: 2,500
updates-source/7 CentOS-7 - Updates Sources disabled
!webtatic/x86_64 Webtatic Repository EL7 - x86_64 enabled: 523
webtatic-archive/x86_64 Webtatic Repository EL7 - x86_64 - Archive disabled
webtatic-archive-debuginfo/x86_64 Webtatic Repository EL7 - x86_64 - Archive Debug disabled
webtatic-archive-source Webtatic Repository EL7 - x86_64 - Archive Source disabled
webtatic-debuginfo/x86_64 Webtatic Repository EL7 - x86_64 - Debug disabled
webtatic-source Webtatic Repository EL7 - x86_64 - Source disabled
webtatic-testing/x86_64 Webtatic Repository EL7 - x86_64 - Testing disabled
webtatic-testing-debuginfo/x86_64 Webtatic Repository EL7 - x86_64 - Testing Debug disabled
webtatic-testing-source Webtatic Repository EL7 - x86_64 - Testing Source disabled
repolist: 86,071
Что происходит и как я могу исправить эту проблему?
Возможно, detarpm
включен, что не требуется для репозиториев.
Попробуйте с
yum --setopt=deltarpm=0 repolist all
Вот частичное решение проблемы. Я планирую обновить его, когда у меня будут все ответы.
Если версия конкретных репозиториев является причиной проблемы, как в моем случае (в основном), их необходимо отключить:
Запустите yum -v repolist
. Вы увидите строки, похожие на это
Repo-id : C7.0.1406-base/x86_64
Repo-name : CentOS-7.0.1406 - Base
Repo-revision: 1404489580
Repo-updated : Fri Jul 4 17:01:07 2014
Repo-pkgs : 8,465
Repo-size : 5.8 G
Repo-baseurl : http://vault.centos.org/7.0.1406/os/x86_64/
Repo-expire : 21,600 second(s) (last: Thu Aug 22 13:32:14 2019)
Filter : read-only:present
Repo-filename: /etc/yum.repos.d/CentOS-Vault.repo
Repo-id : C7.0.1406-centosplus/x86_64
Repo-name : CentOS-7.0.1406 - CentOSPlus
Repo-revision: 1428416958
Repo-updated : Tue Apr 7 15:29:37 2015
Repo-pkgs : 123
Repo-size : 673 M
Repo-baseurl : http://vault.centos.org/7.0.1406/centosplus/x86_64/
Repo-expire : 21,600 second(s) (last: Thu Aug 22 13:32:14 2019)
Filter : read-only:present
Repo-filename: /etc/yum.repos.d/CentOS-Vault.repo
Обратите внимание на версии конкретных Repo-id, например, C7.0.1406-base и Repo-filename, /etc/yum.repos.d/CentOS-Vault.repo. Откройте файл /etc/yum.repos.d/CentOS-Vault.repo. Он выглядит так:
# CentOS Vault содержит RPM пакеты из старых выпусков в дереве CentOS-7
#c7.0.1406
[C7.0.1406-base]
name=CentOS-7.0.1406 - Base
baseurl=http://vault.centos.org/7.0.1406/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
Измените enabled=0
на enabled=1
.
.
Ответ или решение
Если вы являетесь IT-экспертом и сталкиваетесь с проблемой доступа yum
к репозиториям на CentOS 7 (выпуск 7.6.1810), необходимо провести диагностику и устранение этой проблемы. Ваша задача состоит в том, чтобы понять, почему yum
не может получить доступ к репозиториям, и как это исправить, основываясь на предоставленной информации.
Факторы проблемы
-
Ошибки с метаданными. Судя по вашему описанию и результату команды
yum repolist all
, многие репозитории сигнализируют об отсутствии метаданных. Это может быть результатом устаревших или неправильно настроенных репозиториев. -
Проблемы с версией. Ваша система настроена на различные версии заранее выпущенных репозиториев, такие как
C7.0.1406-base
. Если они больше не поддерживаются или недоступны,yum
может застрять в попытках к ним обратиться. -
Настройки
deltarpm
. Возможное включениеdeltarpm
может вызвать проблемы в загрузке пакетов, что иногда приводит к зависаниям или ошибкам.
Как решить проблему
Следующие шаги помогут вам исправить проблему:
Шаг 1: Отключение deltarpm
Вы можете временно отключить deltarpm
, чтобы проверить, не вызывает ли оно проблем. Выполните команду:
yum --setopt=deltarpm=0 repolist all
Если это решит проблему, рассмотрите изменение параметра в конфигурации yum
.
Шаг 2: Проверка и отключение устаревших репозиториев
-
Выполните команду
yum -v repolist
, чтобы получить полный список всех репозиториев и их текущие состояния. Эта команда предоставит информацию о каждом репозитории, включая идентификатор и файл конфигурации. -
Найдите в файле
/etc/yum.repos.d/
записи для всех устаревших или неподдерживаемых репозиториев, таких какC7.0.1406-base
. -
Откройте конфигурационный файл, например
/etc/yum.repos.d/CentOS-Vault.repo
, и измените параметрenabled=1
наenabled=0
для всех репозиториев, которых вы больше не планируете использовать.
[C7.0.1406-base]
name=CentOS-7.0.1406 - Base
baseurl=http://vault.centos.org/7.0.1406/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=0
Шаг 3: Настройка актуальных репозиториев
Убедитесь, что у вас включены актуальные и поддерживаемые репозитории, такие как base
, updates
, extras
. Это позволит системе получать актуальные обновления и пакеты.
Заключение
Правильная настройка репозиториев и отключение устаревших источников помогут избежать проблем с зависанием yum
при попытках доступа к репозиториям. Эти шаги не только устраняют текущую проблему, но и обеспечивают стабильное обновление системы в будущем. Убедитесь, что ваша система имеет актуальный доступ к поддерживаемым репозиториям, и своевременно обновляйте их настройки.