Ошибка обновления yum: Ошибка: невозможно получить метаданные хранилища (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
со вчерашнего дня вы задавали так много вопросов об ошибке с yum интернет-соединением и проблемами пути, вы только что подумали переустановить вашу систему? Кажется, это очень
круто

Вы должны исправить интернет-соединение в первую очередь. Переустановка может быть вариантом. Или попробуйте загрузить систему Live 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 напрямую и обновления с использованием rpm).
Кев

@kev Ну, теоретически ваш комментарий должен работать, но, к сожалению, когда я спрашиваю, yum to update ca-certificatesя получаю «Пакеты не помечены для обновления» . Фактически, когда я делаю a, yum list | grep ca-certificatesя получаю этот ca-сертификаты.noarch 2010.63-3.el6_1.5 в качестве последней версии на моем компьютере CentOS 6.4. На моем компьютере с CentOS 6.5 я получаю ca-Certificate.noarch 2014.1.98-65.1.el6. Похоже, вам нужно как минимум обновить CentOS 6.5, чтобы получить последние CA-Ceritifcates от CentOS, или вручную получить rpm и установить его. ,
RobertDeRose

@ Кев Роб прибил это. Многие предприятия по-прежнему находятся в очень старых дистрибутивах. В настоящее время я работаю над CentOS4.5 для клиента и должен сделать много вещей, которые обычно не нужно делать.
SgtPooki

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

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

16

Попробуйте это (должно быть root)

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, что позволило второму проходу пройти успешно.
Уоррен Янг

6

Введите « http://mirror.centos.org/centos/6 » в браузере и увидите, что «addons» не существует.

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


Так что я должен делать?
az93

yum --disablerepo = обновление аддонов
Amauche

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

мы можем увидеть ваш конф конфет?
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, я не знаю почему, но не существует каталога 6.5 в официальном репозитории yum для centOS. Все пакеты вернут код состояния 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и другие включенные репозитории не указывают на действительные ресурсы.

Так что я удалил их, и теперь работает Yum.


1

В моем случае, который является действительно исключительным, местоположение файла XML, который содержит информацию о репо, изменяется.

  • У меня есть подключение к интернету ( ping 8.8.8.8работает)
  • Когда я запускаю yum upgrade, после большой 404ошибки, я могу получить имена пакетов, которые я должен загрузить, но я не могу загрузить их.

И, когда я просматриваю первый URL 404 репо, который является:

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/General

Если вы знаете, что делаете, и абсолютно хотите остаться на уровне 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.