Ошибка YumRepo: все зеркальные URL-адреса не используют ftp, http [s] или файл

Я установил centOS 6.5 server с помощью VMWare Workstation 9 на хост-компьютере Windows 8.1. При попытке использовать yum для установки пакетов я получаю следующую ошибку:

[[email protected] ~]# yum update
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
 Eg. </html>/
removing mirrorlist with no valid mirrors: /var/cache/yum/i386/6/base/mirrorlist.txt
Error: Cannot find a valid baseurl for repo: base

VM работает на других машинах (Windows 7 рабочий стол и ноутбук Windows 8.1), а не тот, который мне нужен для работы. Я могу выполнить ping хост от гостя и гостя от хоста, так что есть подключение к Интернету.

Я удалил и переустановил рабочую станцию ​​9. Откроется на рабочей станции 10. Восстановил сервер CentOS 6.5. Ничто, кажется, не решает проблему.

Когда я обновился с Windows 8 до Windows 8.1, у меня был установлен VMWare. Позднее я узнал, что перед обновлением должен был удалить VMWare. Может ли это испортить мои сетевые адаптеры VMWare?

У кого-нибудь есть идеи?

Ответ 1

Убедитесь, что вы можете пропинговать vault.centos.org.

Затем отредактируйте /etc/yum.repos.d/CentOS-Base.repo

Закомментируйте mirrorlist и раскомментируйте baseurl

Изменить все

baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/

в

baseurl=http://vault.centos.org/$releasever/centosplus/$basearch/

И приятного аппетита! ;)

Ответ 2

Я думаю, что еще одна причина этого сообщения об ошибке - если ваш релиз больше не поддерживается. Ни одно из предложений в этой теме не работало для меня, и мое подключение к интернету было прекрасным, но потом я понял, что я запускаю Centos 5 (я знаю, древний...), который достиг своего конца жизни в 2017 году 31 марта - около того, когда появилась ошибка repo yum.

Ответ 3

для centos 5.4, вы можете изменить /etc/yum.repos.d/CentOS-Base.repo таким образом.

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

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

#packages used/produced in the build but not released
[addons]
name=CentOS-5.4 - Addons
#mirrorlist=http://mirrorlist.centos.org/?release=5.4&arch=$basearch&repo=addons
baseurl=http://vault.centos.org/5.4/addons/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-5.4 - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=5.4&arch=$basearch&repo=extras
baseurl=http://vault.centos.org/5.4/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-5.4 - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=5.4&arch=$basearch&repo=centosplus
baseurl=http://vault.centos.org/5.4/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users
[contrib]
name=CentOS-5.4 - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=5.4&arch=$basearch&repo=contrib
baseurl=http://vault.centos.org/5.4/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

Ответ 4

Это случилось с системой, которую я поддерживаю в удаленной сети, и я решил, что это связано с тем, что брандмауэр Check Point клиента мешает нормальному HTTP-трафику. Я запустил sudo tcpdump -nn -c 500 -s0 -X port 80 и посмотрел, как yum перенаправляется на какой-то портал:

Location: http://x.x.x.x/UserCheck/PortalMain?....

Забавно, трудно было воспроизвести с помощью curl, который без проблем обнаружил список зеркал. Я обнаружил, что мне нужно добавить HTTP-заголовок User-agent: urlgrabber/3.1.0 yum/3.2.22, который используется yum для запуска помехи Check Point, например:

$ curl -i \
    -H 'User-agent: urlgrabber/3.1.0 yum/3.2.22' \
    'http://108.61.16.227/?release=5&arch=x86_64&repo=os'
HTTP/1.1 307 Temporary Redirect
Location: http://x.x.x.x/UserCheck/PortalMain?IID=....origUrl=....
Connection: close

Google для проверки пользователей /PortalMain показывает, что это Check Point Firewall. И IP, который я скрыл там (x.x.x.x), принадлежал клиенту. Это было достаточным доказательством для того, чтобы сообщить клиенту, что ему нужно внести какие-то изменения в свой брандмауэр, чтобы обеспечить беспрепятственный доступ к Интернету в моей системе (я понятия не имею, что, но я надеюсь, что он и/или его сетевая команда могут это понять).

Ответ 5

Добавление следующего до yum update -y помогло мне решить проблему:

yum clean all
echo "http://vault.centos.org/5.11/os/x86_64/" > /var/cache/yum/base/mirrorlist.txt
echo "http://vault.centos.org/5.11/extras/x86_64/" > /var/cache/yum/extras/mirrorlist.txt
echo "http://vault.centos.org/5.11/updates/x86_64/" > /var/cache/yum/updates/mirrorlist.txt

Кстати, CentOS 5 уже достиг EOL

Ответ 6

Ответ от @Steve Kehlet выше дал мне правильный путь после обнаружения этого Q & Поиск такого же симптома. В целом, однако, ответ оказывается любым фильтрующим веб-прокси (часто используемым в средах Корпорации), может вызвать это, когда он перенаправляет запрос yum "http". Во многих из этих случаев поставщики предоставляют "веб-прокси" какого-либо рода (специфичные для каждой конкретной реализации брандмауэра/фильтрации), спросите своих системных администраторов).

Важная часть, не упомянутая в этом ответе до сих пор, вы можете сделать CentOS yum работать с этим прокси, добавив следующую строку в /etc/yum.conf

proxy = http://proxy.yoursite.whatever:port_num

Это позволит yum знать, как работать с прокси-сервером вашей компании, и исправить неинтуитивную ошибку "Все зеркальные URL-адреса не используются..."

Ответ 7

Я столкнулся с той же проблемой с CentOS 5.11, и вот полный файл решения, с которым я закончил: -

nano /etc/yum.repos.d/CentOS-Base.repo

'

'
# CentOS-Base.repo
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# http://vault.centos.org/5.11/
# http://vault.centos.org/5.11/updates/
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.

[base]
name=CentOS-$releasever - Base
baseurl=http://vault.centos.org/5.11/centosplus/$basearch/

gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5


#released updates 
[updates]
name=CentOS-$releasever - Updates

baseurl=http://vault.centos.org/5.11/updates//$basearch/

gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5


#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras

#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
baseurl=http://vault.centos.org/5.11/extras/$basearch/


gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages


[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://vault.centos.org/5.11/centosplus/$basearch/


gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/

gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

Ответ 8

Проверьте, можете ли вы выполнить ping внешний сайт, например www.google.com. Если строки не вставляются:

nameserver 208.67.222.222
nameserver 208.67.220.220

в/etc/resolve.conf

Также в /etc/yum.repos.d/CentOS-Base.repo

раскомментировал весь список зеркал и закомментировал все baseurl

Если зеркальный список не работает для вас, вы можете попробовать только baseurl.

Надеюсь, что это поможет!

Ответ 9

Есть две вещи, которые вы можете сделать:

  • Перейдите в/etc/sysconfig/network-scripts/и проверьте файл интерфейса, например ifcfg-eth0. Измените "NM_CONTROLLED" на "yes" на "no". Перезапустите сеть.
  • Перейдите в/etc/sysconfig/network-scripts/и отредактируйте ifcfg-eth0. Добавьте DNS1 = 8.8.8.8 и DNS2 =. Первая запись - Google Public DNS. Перезапустите сеть.

Один из них должен исправить вашу проблему.

Кроме того, если вы еще этого не сделали, вернитесь к исходному файлу/etc/yum.repos.d/CentOS-Base.repo.

Ответ 10

Комментируйте директиву metadata_expire в /etc/yum.conf и do yum очистите все. Это сработало для меня. Не знаете, как это сделать.

Ответ 11

[root @server1 ~] # yum update Загруженные плагины: fastestmirror, refresh-packagekit, безопасность Настройка процесса обновления Загрузка зеркальных скоростей из кэшированного файла хоста Ошибка YumRepo: все зеркальные URL-адреса не используют ftp, http [s] или файл.  Например. эхо/ удаление зеркального списка без действительных зеркал:/var/cache/yum/x86_64/6/base/mirrorlist.txt Ошибка: не удается найти действительный baseurl для репо: base

  • Ответ

Если вы видите, что указанная выше ошибка означает, что сначала вам нужно проверить работу Интернета или нет (ping 8.8.8.8), если интернет работает, вы можете отлаживать в противном случае проверку своего брандмауэра и доступ в Интернет.

Ответ 12

Для всех, кто застрял в прошлом,

Внутри док-контейнера centos: centos5

# cat CentOS-Base.repo
[base]
name=CentOS-5.11 - Base
#mirrorlist=http://mirrorlist.centos.org/?release=5.11&arch=$basearch&repo=os
baseurl=http://archive.kernel.org/centos-vault/5.11/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

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

#packages used/produced in the build but not released
[addons]
name=CentOS-5.11 - Addons
#mirrorlist=http://mirrorlist.centos.org/?release=5.11&arch=$basearch&repo=addons
baseurl=http://archive.kernel.org/centos-vault/5.11/addons/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that may be useful
[extras]
name=CentOS-5.11 - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=5.11&arch=$basearch&repo=extras
baseurl=http://archive.kernel.org/centos-vault/5.11/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-5.11 - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=5.11&arch=$basearch&repo=centosplus
baseurl=http://archive.kernel.org/centos-vault/5.11/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#contrib - packages by Centos Users
[contrib]
name=CentOS-5.11 - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=5.11&arch=$basearch&repo=contrib
baseurl=http://archive.kernel.org/centos-vault/5.11/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

Мне также пришлось изменить этот libselinux.repo

# cat libselinux.repo
[libselinux]
name=CentOS-$releasever - libselinux
baseurl=http://archive.kernel.org/centos-vault/5.11/os/$basearch/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
includepkgs=libselinux*