Помилка оновлення: помилка: Неможливо отримати метадані репозиторію (repomd.xml) для сховища…


34

Я використовую CentOS 6.3. Коли я намагаюся оновити свою систему з yum, у мене з'явилося це повідомлення:

yum update

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.ircam.fr
 * centosplus: miroir.univ-paris13.fr
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

yum clean all

Loaded plugins: fastestmirror
Cleaning repos: CactiEZ addons base centosplus extras pgdg93 update
Cleaning up Everything
Cleaning up list of fastest mirrors

yum check

Loaded plugins: fastestmirror
check all

yum erase apf

Loaded plugins: fastestmirror
Setting up Remove Process
No Match for argument: apf
Determining fastest mirrors
 * base: centos.mirror.fr.planethoster.net
 * centosplus: centos.mirror.fr.planethoster.net
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
CactiEZ                                                | 2.9 kB     00:00
CactiEZ/primary_db                                     |  13 kB     00:00
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

yum upgrade

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.mirror.fr.planethoster.net
 * centosplus: centos.mirror.fr.planethoster.net
 * extras: mirrors.ircam.fr
 * update: centos.quelquesmots.fr
http://mirror.centos.org/centos/6/addons/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again

Мій yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

1
оскільки вчора ви задали стільки запитань про помилку, пов’язану з підключенням до Інтернету та проблемами з маршрутом, ви просто думали перевстановити систему? Це здається досить f $$$ ed ed
Kiwy

Спочатку потрібно зафіксувати підключення до Інтернету. Перевстановлення може бути варіантом. Або спробуйте завантажувати живу систему CD.
петерф

Я вирішив проблему, видаливши папку "yum.repos.d" і відтворив файл example.repo. додати деталі репо звідси: linuxquestions.org/questions/linux-newbie-8/…
Ян

Відповіді:


33

Ваш ca-bundles.crt занадто старий. Один з проблем, поки ви не оновите до нової версії CentOS, - це змінити epel.repo з використання https на http

sudo sed -i 's/https/http/g' /etc/yum.repos.d/epel.repo

2
+1 Місце на. Але вам не потрібно буде модернізувати CentOS, щоб отримати останній пакет пакетів (через довготривалу підтримку CentOS). yum update ca-certificatesслід виконати трюк (після відключення https для epel, або захоплення обертів безпосередньо та оновлення за допомогою rpm).
Кев

@kev Ну теоретично ваш коментар повинен спрацювати, але, на жаль, для мене, коли я прошу yum to update ca-certificatesотримати "Немає пакунків для оновлення" . Насправді, коли я це роблю, yum list | grep ca-certificatesя отримую цей ca-certifikat.noarch 2010.63-3.el6_1.5 як останню версію мого вікна CentOS 6.4. На мій CentOS 6,5 коробка я отримую CA-certificates.noarch 2014.1.98-65.1.el6 Так це виглядає , як вам потрібно , принаймні поновлення до CentOS 6.5 , щоб отримати останні CA-Ceritifcates від CentOS, або вручну отримати обороти і встановити його .
RobertDeRose

@Kev Rob прибив це. Чимало підприємств, що перебувають на стадії бізнесу, досі перебувають у дуже старих районах. Зараз я працюю над CentOS4.5 для клієнта, і мені доводиться робити багато речей, які зазвичай не повинні робити.
SgtPooki

@RobD Схоже, що OP використовує http, і коли я зіткнувся з тією ж проблемою, я теж використовував http не https. Тож мені просто цікаво, як би ви вивели, що застарілі кореневі сертифікати ssl ca є першопричиною?
Дуайт Спенсер

@DwightSpencer вибачте, я не розумію вашого питання, що таке ОП? Я зробив висновок, що мої кореневі сертифікати ssl ca були проблемою, тому що в моєму старому вікні CentOS 6.2 я не міг оновити, але на 6.6 вікні я міг. Просто проблема з https на http вирішила проблему. Я більш-менш просто звузив це до цього.
RobertDeRose

16

Спробуйте це (має бути кореневим)

yum clean all
yum check
yum erase apf
yum update ca-certificates
yum upgrade

Подивіться на правку
az93

Так! Це спрацювало :)
facundofarias

1
Працював чудово, і це спосіб більш чистий, ніж деякі інші відповіді на цю тему.
Дуайт Спенсер

Мені довелося додати yum update --disableplugin fastestmirrorпропуск туди, оскільки один із цих кроків (ймовірно yum clean) видалив інформацію, необхідну для зв’язку з дзеркалами. Я сказав йому "ні", коли запропонували зробити оновлення, потім зробив звичайну, yum updateі цього разу це вдалося. Я вважаю, що перший пропуск дозволив завантажити новий список дзеркал з головного сайту CentOS, який дозволив другому проходу досягти успіху.
Warren Young

6

Введіть у веб-переглядачі " http://mirror.centos.org/centos/6 " і побачте, що "аддони" не існують.

так, спробуйте yum --disablerepo=addons update


То що я повинен робити?
az93

yum --disablerepo = оновлення addons
Amauche

Та сама проблема ...
az93

чи можемо ми побачити ваш yum conf?
Amauche

Подивіться на правку
az93

3

Проблема для мене полягала в тому, що репост використовує https і це не працює.

cd /etc/yum.repos.d/
grep -RFi "https" *

Це показує, для яких репо-файлів використовується https. Відкрийте їх у редакторі та зробіть його http. Для мене це вирішило проблему.


3

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

$ sudo yum remove centos-release-SCL
$ sudo yum update # Update to CentOS 6.8
$ sudo yum install centos-release-scl
$ sudo yum update

Що я отримав з цієї публікації в блозі .



2

Якщо ви використовуєте 6.5, я не знаю чому, але в офіційному сховищі yum для centOS не існує каталогу 6.5. Усі пакунки повернуть код статусу 404

Якщо ви спробуєте це: http://mirror.centos.org/centos/ 6.5 /os/x86_64/Packages/php-pear-1.9.4-4.el6.noarch.rpm, ви отримаєте 404, але якщо спробуєте версія 6.6: http://mirror.centos.org/centos/ 6.6 /os/x86_64/Packages/php-pear-1.9.4-4.el6.noarch.rpm вона працює.


1

Якщо ви запускаєте "yum update" або "yum upgrade" без будь-яких інших параметрів, всі пакети вашої системи, включаючи yum, будуть оновлені, тому дійсно не потрібно самостійно оновлювати yum, якщо ви не оновлюєте версії Fedora або CentOS.


Насправді мені потрібно встановити ftp. Але коли я використовую yum install ftp, я переживаю ту саму проблему.
az93

1

Я встановив CentOS через Vagrant, і він /etc/yum.repos.d/поставився з каталогом, наповненим такими речами puppet.repo. Ось і ось, puppet.repoі інші включені репости не вказували на дійсні ресурси.

Тож я їх видалив і зараз ви працюєте.


1

У моєму випадку, який насправді винятковий, місце XML-файлу, який містить інформацію репо, змінюється.

  • У мене є інтернет ( ping 8.8.8.8працює)
  • Після запуску yum upgradeпісля великої 404помилки я можу отримати назви пакунків, які я повинен завантажити, але не можу їх завантажити.

І коли я переглядаю першу 404 URL-адресу репо, яка є:

http://mirror.airenetworks.es/CentOS/7.4.1708/os/x86_64/repodata/repomd.xml

і я бачу його відсутнім. Переходячи до своєї батьківської папки, http://mirror.airenetworks.es/CentOS/7.4.1708/readmeя отримую таке:

Цей каталог (та версія CentOS) застарілий. Для звичайних користувачів вам слід використовувати / 7 /, а не /7.4.1708/ на своєму шляху. Будь ласка, дивіться цей FAQ щодо схеми випуску CentOS:

https://wiki.centos.org/FAQ/Загальні

Якщо ви знаєте, чим займаєтесь, і абсолютно хочете залишатися на рівні 7.4.1708, перейдіть на сторінку http://vault.centos.org/ для отримання пакунків.

Зауважте, що 7.4.1708 більше не отримує жодних оновлень, а також жодних виправлень безпеки.

Отже, я мушу повернутися /etc/yum.repo.dдо редагування файлів.

Я маю:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Я підозрюю, що $releaseverвін більше не використовується, тому я можу перевірити, змінивши його на 7: (не забудьте втекти &з \)

curl http://mirrorlist.centos.org/?release=7\&arch=x86_64\&repo=os\&infra=arch

ми можемо отримати список файлів:

ftp://ftp.cesca.cat/centos/7.5.1804/os/x86_64/
http://ftp.rediris.es/mirror/CentOS/7.5.1804/os/x86_64/
http://ftp.cica.es/CentOS/7.5.1804/os/x86_64/
http://centos.mirror.minorisa.net/7.5.1804/os/x86_64/
http://repo.nixval.com/CentOS/7.5.1804/os/x86_64/
http://centos.uvigo.es/7.5.1804/os/x86_64/
http://ftp.uma.es/mirror/CentOS/7.5.1804/os/x86_64/
http://ftp.cixug.es/CentOS/7.5.1804/os/x86_64/
http://mirror.airenetworks.es/CentOS/7.5.1804/os/x86_64/
http://mirror.gadix.com/centos/7.5.1804/os/x86_64/

Отже, ми можемо встановити змінну так:

  1. Відкрийте /etc/yum.repo.d/CentOS-Base.repo
  2. У [base]розділі, визначають: releasever=7.
  3. Повторно запустити yum upgradeабо yum install xxx.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.