Сегодня у меня возникла странная ошибка, которую я не могу исправить:
root@server# yum -y update
Loaded plugins: allowdowngrade
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. </html>/
removing mirrorlist with no valid mirrors: /var/cache/yum/addons/mirrorlist.txt
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its
path and try again
root@server#
с отключенными репо "аддонами":
root@server# yum update --disablerepo=addons
Loaded plugins: allowdowngrade
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. </html>/
removing mirrorlist with no valid mirrors: /var/cache/yum/base/mirrorlist.txt
Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again
root@server#
с "yum clean all":
root@server# yum clean all
Loaded plugins: allowdowngrade
Cleaning up Everything
root@server# yum -y update
Loaded plugins: allowdowngrade
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. </html>/
removing mirrorlist with no valid mirrors: /var/cache/yum/addons/mirrorlist.txt
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again
root@server#
редактировать 22-09-2011: rpm --verify centos-release yum
root@server# rpm --verify centos-release yum
..5....T c /etc/issue
..5....T c /etc/issue.net
S.5....T c /etc/yum.repos.d/CentOS-Base.repo
missing c /etc/yum.repos.d/CentOS-Debuginfo.repo
S.5....T c /etc/yum.repos.d/CentOS-Vault.repo
package yum is not installed
root@server#
Как я могу исправить эту проблему?
Похоже, ваш сервер либо извлекает пустой список зеркал, либо не может подключиться к серверу списка зеркал. Сначала проверьте, действительно ли ваш сервер извлекает список зеркал, используя,
lynx http://mirrorlist.centos.org/?release=5&arch=i386&repo=addons
lynx http://mirrorlist.centos.org/?release=5&arch=i386&repo=os
Если вы получаете пустую страницу, скорее всего, зеркала не работают или список пуст. Вы можете отключить зеркала и использовать прямое зеркало centos в baseurl. Для этого закомментируйте зеркальный список в /etc/yum.repos.d/CentOS-Base.repo и не забудьте раскомментировать baseurl если он уже прокомментирован.
Попробуйте yum clean all
и повторите ввод yum -y update
Ошибка «Не удается получить метаданные репозитория» выглядит как отвлекающий маневр. Настоящая ошибка выглядит так:
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. </html>/
Ваши файлы репо Yum повреждены?
Файлы на /etc/yum.conf
и /etc/yum.repos.d/*.repo
предоставляются yum
и centos-release
пакеты (проверьте это с помощью rpm -q --whatprovides /etc/yum.conf /etc/yum.repos.d/*
).
Попробуйте проверить файлы в /etc/yum.repos.d/
против файлов RPM. Были ли какие-то изменения?
В следующем примере файл CentOS-Base.repo был изменен локально:
% rpm --verify centos-release yum
S.5....T c /etc/yum.repos.d/CentOS-Base.repo
Если вы обнаружите, что эти файлы действительно были изменены, вы можете попробовать переустановка rpms, или извлечение только нескольких файлов, которые вам нужны и вручную переместите их на место. Сначала сделайте резервную копию своих старых файлов для дальнейшего изучения.