помилка yum "Неможливо отримати металінку для сховища: epel. Підтвердьте його шлях і повторіть спробу ”оновлення ContextBroker


106

Я намагаюся оновити Orion ContextBroker за допомогою команди yum install contextBroker. На жаль, я отримую таку помилку:

Завантажені плагіни: найшвидший дзеркало, оновлення пакета, безпека Завантаження

швидкість дзеркала з кешованого файлу хоста

Помилка. Неможливо отримати металінку для сховища: epel. Підтвердьте його шлях і повторіть спробу

Що може піти не так?


3
Пропонований крок усунення несправностей: чи може ваша система curl -v https://mirrors.fedoraproject.org?
mwfearnley

Вибрана відповідь - це вирішення, яке не виправляє кореневу проблему, і фактично установка пакету може продовжувати не працювати. Я пропоную скасувати вибір найкращої відповіді і дозволити підрахунку голосів сортувати відповіді до того, який працював для більшості людей.
Павло

Відповіді:


125

Я вирішив цю проблему, редагуючи /etc/yum.repos.d/epel.repoі /etc/yum.repos.d/epel-testing.repoфайли, і коментуючи всі записи, починаючи з mirrorlist=...і коментуючи всі записи, починаючи з baseurl=....


У моєму випадку це виправлення дозволило yum успішно завантажувати метадані для epel repo, але спроба встановити пакунки потім не вдалася [Errno 14] Peer cert cannot be verified or peer cert invalid. Правильним виправленням було оновлення ca-сертифікатів, як у відповіді нижче.
bain

3
коментуючи всі записи, починаючи з metalink = ... і коментуючи всі записи, починаючи з baseurl = ...., працював для мене RHEL7.1
Anurag Singh

1
Спробував свій метод, потім yum clean all && yum updateпрацював. Але не повністю, він сказав epel-release-7-11.noarch: [Errno 256] No more mirrors to tryі т. Д. Тож я спробував так, yum update curl --disablerepo=epelяк запропонував хвороба, і спробував yum clean all && yum updateще раз, тепер нарешті спрацював.
Хосі Золотий

Працювали для мене. Дуже дякую.
tarekahf

3
У мене не було mirrorlist=рядків, але у мене були metalink=рядки, і ті, що потрібно коментувати.
JellicleCat

171

Вам просто потрібно було оновити пакет ca-сертифікатів. До цього просто відключіть усі репости з https, які виходять з ладу. Ось чому рішення з коментарем дзеркальним списком або використанням http замість https також буде працювати.

Наприклад, якщо вам потрібно вимкнути лише epel repo:

yum --disablerepo=epel -y update  ca-certificates

Це також допоможе wget, curl та все інше, що використовує сертифікати SSL.


9
Це слід сприймати як правильну відповідь, оскільки воно діагностує справжнє джерело проблеми, а не просто надання обходу.
Гораціо Альдераан

1
Я тестував це на коробці для бентосу CentOS 6.5 , і це робить речі дещо надійнішими під час роботи yum clean all && yum makecache. Однак іноді все-таки виходить з ладу. Додавання повтору до мого сценарію зробило його ще більш надійним. Я підозрюю, що деякі дзеркала недостовірні, і спроба може дати інше дзеркало, яке працює. Тож якщо спочатку це не вдається, спробуйте ще раз!
TrinitronX

1
Ну це випливає з досвіду, і так, повідомлення криптовалютне :)
XoR

2
переконайтесь, що ви стоїте за корпоративним проксі, щоб також встановити його для https, наприкладexport https_proxy=<your proxy>
Markus

3
epel-repo RPM повинен мати ca-сертифікати, залежність !!
Стефан

59

використовувати цю команду:

sudo sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo

або альтернативно використовувати команду

vi /etc/yum.repos.d/epel.repo

перейдіть до рядка №4 та змініть URL-адресу на

mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

до

mirrorlist=http://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch

Дякую; це просто працювало для мене після спробу багатьох інших документально підтверджених рішень (моя помилка була, Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again). Моє запитання: чому це спрацювало? це пов’язано з проблемою налаштування на сайті сховища?
CODE-READ

1
Можливо, це не сервер HTTPS, але підтримка HTTPS на стороні клієнта в системах може застаріти, оскільки кореневі сертифікати не оновлюються або бібліотеки SSL не підтримують нові шифри.
mwfearnley

Після багатьох спроб вирішується командою sed. Просто Copy + Paste, це те, що мені було потрібно, тому що зазвичай я не відповідаю за такі речі, просто встановіть тестовий комп’ютер, який використовуватиметься я лише для тестування деяких оновлень бази даних.
EAmez

1
У Cent OS 7.6 цеsudo sed -i "s/metalink=https/metalink=http/" /etc/yum.repos.d/epel.repo
JamesThomasMoon1979

19

На мій випадок коментування mirrorlistта суперечення записів із baseurlдіном не працює. Я помітив, що проблема була з httpsiniside .repoфайлами Fedora. Я вирішив це, йдучи в /etc/yum.repository.dі замінити всі httpsз httpрізними файлами .repo. Це працювало !!


Це, мабуть, пов'язане з набором проксі в /etc/yum.conf (фірмовий проксі)?
Крістоф Келін

19

Я думаю, це має спрацювати. Я вирішив із цим свою проблему.

$ sudo yum очистити всіх

$ sudo yum --disablerepo = "epel" оновлення nss


3
Це хвилює для Centos 6.8. Спасибі
нео

1
Це також вирішило моє питання, мені цікаво, чому update nssдопомагає вирішити це питання ?!
KLajdPaja

12

Оновлення curl працювало на нас. Якось yum використовує curl для своїх транзакцій.

yum update curl --disablerepo=epel

Ваша відповідь краще, ніж прийнята відповідь, не потрібно змінювати epel.repo або epel-testing.repo.
Золотий Хосі

Я відслідковував це і оновлював завиток, перш ніж читати цю чи деякі інші відповіді. Я бачу, що оновлення curl також оновило nss ... тому мені цікаво, чи це було проблемою. У моєму випадку я згорнув URL-адресу металінки, побачив, що вона не працює, і побачив, що вона працює з --tlsv1 ( bugzilla.redhat.com/show_bug.cgi?format=multiple&id=1170339 ). Передбачається, що локон застарів і оновив його. Тож тепер мені цікаво, чи міг би бути оновлений NSS без оновлення згортання, і він би спрацював чи ні.
Павло

9

Перевірте, чи маєте ви доступ до Інтернету через проксі, а потім додайте до нього адресу проксі-інтернету yum конфігурацію .

додати

proxy=http://ip:port

до /etc/yum.conf


2
переконайтеся, що також вказано проксі-сервер https.
Маркус

1
це працювало для мене, але лише з додатково наступним параметром:proxy_username=your_user proxy_password=your_passwd
MaggusK

7

Покрокові кроки

Виконання наступної команди оновить репо для використання HTTP, а не HTTPS:

sudo sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo

Тоді ви зможете оновити за допомогою цієї команди:

yum -y update

Єдине рішення, яке працює для мене! Усі інші до цього нічого не змінили (мені потрібні пакети epel).
KuroNeko

У Cent OS 7.6 цеsudo sed -i "s/metalink=https/metalink=http/" /etc/yum.repos.d/epel.repo
JamesThomasMoon1979

6

Ви можете зіткнутися з цим повідомленням / помилкою після встановлення epel-release. Швидке виправлення полягає в тому, щоб оновити ваші SSL сертифікати:

yum -y upgrade ca-certificates

Можливо, вищезгадана помилка може виникнути і під час оновлення сертифікату, якщо так, просто вимкніть epelрепо, тобто скористайтеся такою командою:

yum -y upgrade ca-certificates --disablerepo=epel 

Як тільки сертифікати будуть оновлені, ви зможете нормально використовувати yum, навіть epel repo буде добре працювати. Якщо ви отримуєте цю ж помилку для іншого репо, просто введіть її ім'я проти --disablerepo=<repo-name>прапора.


Примітка : використовуйте, sudoякщо ви не rootкористувач.


1
Це найкраща відповідь для мене :)
qingbo

5

Я вирішив цю проблему цим рішенням.

ви просто змінюєте цей файл /etc/yum.repos.d/epel.repo

зеркальний список = змінити URL-адресу https на http

baseurl = змінити цей URL-адрес https на http


4

Все вищезазначене не працювало для мене, але відбудова перебудови бази даних rpm із наступною командою:

sudo rpm --rebuilddb

Дякую всім за допомогу.


1
Перед цим довелося використовувати baseurl замість дзеркального списку (прийнята відповідь)
Telmo Pimentel Mota

3

Для вікон, у яких немає доступу до Інтернету, ви можете видалити epelсховище:

yum remove epel-release --disablerepo=epel

Це трапилося зі мною , коли я випадково встановив , epel-releaseвикористовуючи rpmна коробці прод.


3

У мене виникло те саме питання, хоча пакет сертифікатів ca є актуальним. Наразі підписано дзеркало https://mirrors.fedoraproject.org/ , DigiCert High Assurance EV Root CAяке включено до могоca-bundle

$ grep -A 3 "DigiCert High" /etc/ssl/certs/ca-bundle.crt 
# DigiCert High Assurance EV Root CA
-----BEGIN CERTIFICATE-----
MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3

Причиною того, що в моєму випадку не вдалося виконати з'єднання https, було те, що системна дата була встановлена ​​на 2002 рік, в якому DigiCert High Assurance EV Root CAвона (поки) не діє.

$ date
Di 1. Jan 11:10:35 CET 2002

Зміна системного часу вирішила проблему.


Дуже дякую за цю відповідь. Ви, сер, легенда
Тоні Сепія,

2

Я вирішив це, зайшовши в /etc/yum.repository.d/. У моєму випадку я коментую дзеркальний список і незабезпечувані записи з baseurl. а також додано sslverify = false.

/server/637549/epel-repo-for-centos-6-causing-error


Не тільки це, але й зміни URL - адреси в archives.fedoraproject.org/pub/archive/fedora/linux/releases / ... (для fedora.repo і FEDORA-updates.repo). Зверніть увагу на "архіви" попереду та "паб / архів" на шляху)
dagelf

yum install -y yum-utils --disablerepo = epel && yum-config-manager --save --setopt = epel.sslverify = false
Андрій Седой


1

У моєму випадку, коли я коментую дзеркальний список, помилка усунулася, але РЕПО також не працює, тому я вручну вказую правий baseurl, /etc/yum.repos.d/epel.repoяк показано нижче

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://iad.mirror.rackspace.com/epel/7Server/x86_64/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://iad.mirror.rackspace.com/epel/7Server/x86_64/debug/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://iad.mirror.rackspace.com/epel/7Server/SRPMS/
#metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch&infra=$infra&content=$contentdir
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1


0

Зміна URL-адреси дзеркального списку з https на http вирішила для мене проблему.


0

Виправлено міну так:

yum install elfutils-default-yama-scope-0.168-8.el7.noarch --disablerepo=epel
yum install nss-pem -disablerepo=epel
yum reinstall ca-certificates --disablerepo=epel
yum clean all
rm -rf /var/cache/yum
yum update`

0

Жодне з них не працювало для мене (я навіть не пробував хаки, як-от вручну редагувати файл репо).

Однак це спрацювало після простого yum update -y


0

Інша можлива причина - ваша архітектура не підтримується. Я зіткнувся з цим, тому що мені надали CentOS VM, хотів встановити EPEL і не міг за життя мене це зробити.

Виявляється, VM був CentOS 7 i386, що є архітектурою, яка, очевидно, більше не підтримується EPEL. Я думаю, єдиний засіб у цьому випадку - це перевстановлення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.