web-dev-qa-db-fra.com

Erreur YumRepo: toutes les URL en miroir n'utilisent pas ftp, http [s] ou fichier

J'ai configuré un centOS 6.5 server à l'aide de VMWare Workstation 9 sur un ordinateur portable hôte Windows 8.1. Lorsque j'essaie d'utiliser yum pour installer des packages, le message d'erreur suivant s'affiche:

[root@localhost ~]# 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

Le VM fonctionne sur d'autres ordinateurs (Windows 7 bureau et un ordinateur portable Windows 8.1), mais pas celui sur lequel je dois travailler. Je suis en mesure d'envoyer une requête ping à l'hôte de l'invité et l'invité de l'hôte, de sorte qu'il existe une connexion à Internet.

J'ai désinstallé et réinstallé Workstation 9. Ungraded vers workstation 10. Reconstruisez le serveur CentOS 6.5. Rien ne semble résoudre le problème.

Lors de la mise à niveau de Windows 8 vers Windows 8.1, j'avais VMWare installé. J'ai découvert plus tard que j'aurais dû désinstaller VMWare avant de procéder à la mise à niveau. Est-ce que cela aurait pu gâcher mes cartes réseau VMWare?

Quelqu'un a des idées?

13
TheJimmer

Assurez-vous que vous pouvez effectuer un ping sur vault.centos.org.

Puis éditez /etc/yum.repos.d/CentOS-Base.repo

Commentez mirrorlist et décommentez baseurl

Change tout 

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

à

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

Et profitez de votre mise à jour miam !!! ;)

20
makidoo

Je pense qu'une autre raison de ce message d'erreur est si votre version n'est plus prise en charge. Aucune des suggestions de ce fil de discussion n’a fonctionné pour moi et ma connexion Internet était satisfaisante, mais j’ai alors réalisé que j’utilisais Centos 5 (je sais, ancien ...), qui est arrivé en fin de vie le 31 mars 2017 - juste autour quand l'erreur yum repo a commencé à apparaître.

10
michael bietenholz

Cela est arrivé à un système que je supporte sur un réseau distant et j'ai déterminé que c'était dû au pare-feu Check Point du client qui interférait avec le trafic HTTP normal. J'ai couru un Sudo tcpdump -nn -c 500 -s0 -X port 80 et regardé yum être redirigé vers une sorte de portail:

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

Ce qui est drôle, c’est difficile à reproduire avec curl, qui récupère la liste des miroirs sans aucun problème. J'ai trouvé que je devais ajouter l'en-tête HTTP User-agent: urlgrabber/3.1.0 yum/3.2.22 que yum utilise pour déclencher une interférence de Check Point, comme ceci:

$ 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

Googler pour UserCheck/PortalMain montre qu'il s'agit de Check Point Firewall. Et l'adresse IP que j'ai cachée (x.x.x.x) appartenait au client. C’était une preuve suffisante pour indiquer au client qu’il devait modifier son pare-feu afin de permettre à mon système d’accéder librement à Internet (je ne sais pas quoi, mais j'espère que lui-même et son équipe de réseau pourront le comprendre).

4
Steve Kehlet

La réponse de @Steve Kehlet ci-dessus m'a mis sur la bonne voie après avoir trouvé cette Q & A à la recherche du même symptôme. De manière plus générale, la réponse s'avère être n'importe quel type de proxy Web filtrant (fréquemment utilisé dans les environnements Corp) peut provoquer ce problème en redirigeant la requête "http" de yum. Dans nombre de ces cas, les fournisseurs fournissent un "proxy Web" (spécifique à chaque implémentation de pare-feu/filtrage - demandez à votre administrateur système).

La partie importante non mentionnée dans cette réponse jusqu’à présent est que vous pouvez faire fonctionner CentOS yum avec ce proxy en ajoutant la ligne suivante à /etc/yum.conf

proxy = http: //proxy.votresite.wimporte: numéro_port

Cela vous permettra de savoir comment utiliser le proxy de votre entreprise et de corriger l'erreur non intuitive "Toutes les URL de miroir n'utilisent pas ..."

2
JesseM

pour centos 5.4, vous pouvez changer /etc/yum.repos.d/CentOS-Base.repo en comme ceci.

[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
2
lisency

Il y a deux choses que tu peux faire:

  1. Accédez à/etc/sysconfig/network-scripts/et vérifiez votre fichier d'interface, ifcfg-eth0 par exemple. Remplacez "NM_CONTROLLED" de "oui" par "non". Redémarrez le réseau.
  2. Allez dans/etc/sysconfig/network-scripts/et éditez ifcfg-eth0. Ajoutez DNS1 = 8.8.8.8 et DNS2 =. La première entrée est Google Public DNS. Redémarrez le réseau.

L'un d'entre eux devrait résoudre votre problème.

De même, si vous ne l'avez pas encore fait, retournez au fichier /etc/yum.repos.d/CentOS-Base.repo d'origine.

0
user2610959

Ajouter les éléments suivants avant yum update -y m'a aidé à résoudre le problème:

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

BTW, CentOS 5 avait déjà atteint EOL

0
Sudheesh.M.S

J'ai rencontré le même problème avec CentOS 5.11 et ici le fichier de solution complet je me suis retrouvé avec: -

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
0
Salem

[root @ server1 ~] # yum update Plugins chargés: mostmirror, refresh-packagekit, security Configuration du processus de mise à jour Chargement des vitesses de miroir à partir du fichier hôte mis en cache Erreur YumRepo: toutes les URL miroir ne sont pas utilisées ftp, http [s] ou fichier . Par exemple. echo / suppression de la liste miroir sans miroirs valides: /var/cache/yum/x86_64/6/base/mirrorlist.txtError: impossible de trouver un baseurl valide pour repo: base

  • Réponse

Si vous voyez que l'erreur ci-dessus signifie que vous devez d'abord vérifier si Internet fonctionne ou non (ping 8.8.8.8), si Internet fonctionne, vous pouvez déboguer, sinon vérifiez votre pare-feu et accédez à Internet. 

0
Golden john

Mettez en commentaire la directive metadata_expire dans /etc/yum.conf et faites tout nettoyer. Cela a fonctionné pour moi. Je ne sais pas comment. 

0
Bharath Tupaki

Vérifiez si vous pouvez envoyer un ping à un site externe tel que www.google.com . Si ce n'est pas le cas, insérez des lignes:

nameserver 208.67.222.222
nameserver 208.67.220.220

dans /etc/resolve.conf

Aussi dans /etc/yum.repos.d/CentOS-Base.repo

non commenté toute la liste des miroirs et commenter tous les baseurl

Si la liste miroir ne fonctionne pas pour vous, vous pouvez essayer uniquement le baseurl.

J'espère que ça aide!!

0
Amar