Вопрос или проблема
# yum list updates
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management.
You can use subscription-manager to register.
Один из настроенных репозиториев не работает (неизвестно),
и yum не имеет достаточно кэшированных данных для продолжения. На данном этапе единственное
что yum может сделать безопасно — это завершить работу. Существует несколько способов “исправить” это:
1. Связаться с поставщиком репозитория и попросить их исправить проблему.
2. Перенастроить baseurl/и т.д. для репозитория, чтобы указать на работающий
источник. Это чаще всего полезно, если вы используете более новую
версию дистрибутива, чем та, что поддерживается репозиторием (и
пакеты для предыдущей версии дистрибутива все еще работают).
3. Запустить команду с временно отключенным репозиторием
yum --disablerepo=<repoid> ...
4. Отключить репозиторий навсегда, чтобы yum не использовал его по умолчанию. Yum
тогда просто будет игнорировать репозиторий, пока вы снова не включите его
или не используете --enablerepo для временного использования:
yum-config-manager --disable <repoid>
или
subscription-manager repos --disable=<repoid>
5. Настроить неработающий репозиторий на пропуск, если он недоступен.
Учтите, что yum будет пытаться связаться с репозиторием при выполнении большинства команд,
поэтому ему придется пытаться и терпеть неудачу каждый раз (и, следовательно, yum будет работать намного
медленнее). Если это очень временная проблема, то иногда это хороший
компромисс:
yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
Я получаю эту ошибку снова и снова, когда запускаю эту команду. Кто-нибудь знает решение?
да, перестаньте запускать эту команду 🙂
все определения репозиториев находятся в /etc/yum.repos.d/
и у вас есть пустой файл redhat.repo
, потому что вы установили rhel как-то (что нормально), но вы никогда не активировали вашу установку с помощью данной лицензии rhel… что не обязательно плохо, это просто означает, что у вас нет доступа к официальным репозиториям redhat для правильного обновления вашей системы и установки любого другого программного обеспечения или библиотек, которые может предоставить redhat.
Например, мой файл redhat.repo выглядит так…
#
# Репозитории на основе сертификатов
# Управляется менеджером подписок (rhsm)
#
# *** Этот файл генерируется автоматически. Изменения, сделанные здесь, будут перезаписаны. ***
# *** Используйте "subscription-manager repo-override --help", если хотите внести изменения. ***
#
# Если этот файл пуст, а эта система подписана, подумайте о
# выполнении "yum repolist", чтобы обновить доступные репозитории.
#
[rhel-7-server-extras-rpms]
metadata_expire = 86400
enabled_metadata = 1
sslclientcert = /etc/pki/entitlement/16959377048969.pem
baseurl = https://cdn.redhat.com/content/dist/rhel/server/7/7Server/$basearch/extras/os
proxy =
ui_repoid_vars = basearch
sslverify = 1
name = Red Hat Enterprise Linux 7 Server - Extras (RPMs)
sslclientkey = /etc/pki/entitlement/169048969744555-key.pem
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
gpgcheck = 1
[rhel-7-server-rpms]
metadata_expire = 86400
enabled_metadata = 1
sslclientcert = /etc/pki/entitlement/1695934543375315.pem
baseurl = https://cdn.redhat.com/content/dist/rhel/server/7/$releasever/$basearch/os
proxy =
ui_repoid_vars = releasever basearch
sslverify = 1
name = Red Hat Enterprise Linux 7 Server (RPMs)
sslclientkey = /etc/pki/entitlement/1695935504896975315-key.pem
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
gpgcheck = 1
там гораздо больше, с множеством enabled=0
, но то, что заполнено, будет зависеть от лицензии rhel, которую вы приобрели. Но те два, которые я показал выше, по сути, основные, которые вам действительно нужны для базовой функциональности.
Вы также можете получить epel-release-latest-7.noarch.rpm
из
https://fedoraproject.org/wiki/EPEL
или если у вас есть сетевая связь, вы можете прямо сейчас сделать
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
или для rhel8: yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
после чего вы увидите /etc/yum.repos.d/epel.repo
. И EPEL бесплатен, так что вы можете сделать это прямо сейчас и получить доступ ко всему, что предлагает EPEL. Но EPEL не предлагает обновления ядра, вам нужно заплатить, сколько стоитбазовая подписка на rhel в наши дни, чтобы зарегистрировать вашу систему в репозитории redhat.
Также знайте, что существует множество других репозиториев, к которым вы можете подключиться, большинство из них бесплатны, некоторые – платные. И CentOS – это RHEL, где CentOS бесплатен и без официальной [платной] поддержки.
https://wiki.centos.org/AdditionalResources/Repositories
если вы используете linux для личного/домашнего/развлекательного использования, то определенно используйте CentOS, вы ничего не потеряете, не используя RHEL. Если это система на работе, и есть юридические обязательства и прочее, то ваша компания должна платить за подписку на rhel. Но знайте, что многие люди используют CentOS официально в рабочей среде и все проходит отлично, просто знайте, что нет платной официальной поддержки для centos, как есть для rhel.
.
Ответ или решение
Когда вы видите ошибку при выполнении команды yum list updates
, это связано с тем, что не удается подключиться к необходимым репозиториям для обновления вашего пакета. Рассмотрим, как можно решить эту проблему.
-
Регистрация в Red Hat Subscription Management:
Первая и наиболее очевидная часть проблемы заключается в том, что ваша система не зарегистрирована в Red Hat Subscription Management. Это важно, так как без регистрации ваша система не может получить доступ к официальным репозиториям Red Hat. Вам необходимо воспользоваться командойsubscription-manager
для регистрации. Это потребует наличия действительной подписки на Red Hat. -
Проблемы с репозиториями:
Ошибка также может говорить о том, что одна или несколько настроек ваших репозиториев не работают. Вы можете проверить конфигурацию репозиториев в директории/etc/yum.repos.d/
. Убедитесь, что настройки базовой ссылкиbaseurl
или имени хоста указаны верно для каждого репозитория. -
Временное отключение проблемных репозиториев:
Если проблема кроется в конкретно одном репозитории, вы можете временно отключить его с помощью команды:yum --disablerepo=<repoid> list updates
Это позволит вам продолжить работу без учета этого репозитория.
-
Постоянное отключение неработающих репозиториев:
Если вы хотите отключить репозиторий на постоянной основе, выполните следующую команду:yum-config-manager --disable <repoid>
Это полезно, если репозиторий неактуален или более не требуется.
-
Использование EPEL:
Установка EPEL (Extra Packages for Enterprise Linux) может расширить доступ к дополнительным пакетам. Для этого выполните следующую команду:yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Эти пакеты бесплатны, но обратите внимание, что ядро обновляться не будет. Для этого необходима подписка Red Hat.
-
Альтернативные дистрибутивы:
Если вы используете систему в личных целях, рассмотрите возможность перехода на CentOS, который является свободной альтернативой RHEL, с аналогичными функциями, но без платной поддержки.
Тщательно выполните перечисленные шаги, чтобы продолжить работу с системой без сбоев при обновлении пакетов. Используя представленные советы, вы сможете устранить проблему, связанную с обновлениями и доступом к необходимым репозиториям.