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?
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 !!! ;)
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.
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).
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 ..."
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
Il y a deux choses que tu peux faire:
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.
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
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
[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
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.
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.
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!!