Comment puis-je corriger les erreurs "ne peut pas trouver un baseurl valide pour le repo" sur CentOS?

130

J'ai fini d'installer CentOS 6, mais quand j'ai essayé de courir, yum updatej'ai eu:

[root@centos6test ~]# yum update
Loaded plugins: fastestmirror, refresh-packagekit
Determining fastest mirrors
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=i386&repo=os
error was 14: PYCURL ERROR 6 - "" Error: Cannot find a valid baseurl for repo: base

Pourquoi est-ce que ça se passe? Comment puis-je le réparer?

dirtyhandsphp
la source
3
Êtes-vous connecté au réseau? Pouvez-vous cingler mirrorlist.centos.org?
Nikhil Mulley
3
Qu'est-ce qui se passe si vous courez curl 'http://mirrorlist.centos.org/?release=6&arch=i386&repo=os'?
Rvs

Réponses:

165

Pour commencer, vous devez vous connecter, AFAIK CentOS 6 configuration minimale sur votre périphérique réseau ONBOOT=No, il vous suffit de faire un dhclientavec des privilèges administrateur sur votre interface réseau et vous devriez être opérationnel:

$ sudo dhclient

Jorge
la source
1
J'avais l'habitude d'installer le client DHCP sur mon serveur distant en utilisant ssh conformément à cette réponse et maintenant j'ai perdu la connexion parce que l'adresse IP du serveur est maintenant modifiée de façon dynamique et que je ne pensais pas à ce cas avant d'appliquer les modifications. Cette réponse est fallacieuse sans description suffisante et conduit à des malentendus.
Mojtaba Rezaeian
4
Pour la version CentOS-7 (1611), le ONBOOT=Nose trouve dans un fichier du type /etc/sysconfig/network-scripts/ifcfg-enp0s3. J'ai édité ce fichier ONBOOT=yeset redémarrer peut le réparer.
Johnny Wong
2
Le passage à ONBOOT=yespour /etc/sysconfig/network-scripts/ifcfg-enp0s3travailler pour moi, merci @JohnnyWong
Evi Song
24

Je me débattais avec le même problème sur Centos6.4 x86_64. J'ai eu l'erreur suivante:

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os error was 14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'" Error: Cannot find a valid baseurl for repo: base

Donc, je l'ai corrigé par ces étapes:

modifier l'interface réseau. Pour mon cas, j'ai utilisé eth0dans CentOS 6.X. Dans CentOS 7, vous pouvez utiliser l'interface "ensxxx".

vim /etc/sysconfig/network-scripts/ifcfg-eth0

mettre à jour NM_CONTROLLED à no

ONBOOT=no
NM_CONTROLLED=no
BOOTPROTO=dhcp
DNS1=8.8.8.8
DNS2=4.2.2.2

redémarrer l'interface réseau

ifdown eth0
ifup eth0
Raja David
la source
1
ifcfg-eth0n'existe pas sur CentOs 7
shailenTJ
@shailenTJ Il suffit de le toucher ~ fonctionne bien.
Eddie B
1
@shailenTJ Ils ont changé le système de nommage, ce sera enpXsX, sur mon système, enp0s3, mais ce sera probablement légèrement différent du vôtre.
MarcusJ
Si vous effectuez une "installation minimale", son "ifcfg-enpls0f0". Mais si vous installez avec une interface graphique, il remplace ce fichier par autre chose. Ensuite, vous utilisez l’outil de configuration du réseau situé dans le coin supérieur droit de l’écran principal du bureau.
Chris Dutrow le
4.2.2.2Ce n'est probablement pas l'entrée DNS que vous voulez!
Dolph
14

J'ai eu le même problème et il a été résolu après avoir édité le /etc/yum.conffichier. Si vous utilisez un serveur proxy et que l'adresse IP qui lui est donnée est ignorée, mais quand vous ouvrez dans le navigateur (IE - il faut cocher le proxy mais pas besoin de donner le nom d'utilisateur et le mot de passe.)

Ajoutez cette ligne dans la section principale du fichier /etc/yum.conf.

proxy=http://xxx.xxx.xx.xx:8080

c'est-à-dire en substituant l'adresse proxy avec le proxy réel. Modifiez également le numéro de port s'il ne s'agit pas de 8080.

Si le proxy requiert une authentification, ajoutez-le également au fichier.

proxy_username=username
proxy_password=password
Anand TS
la source
9

J'ai édité le fichier /etc/yum.repos.d/CentOS-Base.repoet je n'ai pas commenté baseurl:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Mastergalen
la source
1
Merci! Cela a fonctionné pour moi. Est-ce que quelqu'un sait pourquoi c'est nécessaire, ou pourquoi il a été commenté si c'est nécessaire?
Rich
9

Si le ping d'un hôte connu par son nom (par exemple ping www.google.com) est renvoyé ping: unknown hostmais que le traitement d'une adresse IP (par exemple ping 8.8.8.8) fonctionne correctement, vous rencontrez un problème de résolution DNS. Essayez d'ajouter ces entrées à /etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4
ATUL KHACHANE
la source
2

J'ai eu le même problème hier et j'ai passé des heures à le résoudre. La solution a fini par être simple.

Supprimer le contenu de /etc/yum.repos.d/remi.repopuis exécuter

# yum update

C'est fait! Le contenu du fichier va recommencer le téléchargement et être configuré.

victorkurauchi
la source
Où se trouve ce remi.repofichier?
/etc/yum.repos.d/
Steven Kryskalla Le
J'ai peut-être manqué quelque chose, mais où voyez-vous qu'il a installé le dépôt de Remi? Il a clairement mentionné "J'ai fini d'installer CentOS6", je doute que le référentiel de Remi soit configuré. Je peux me tromper ...
Spredzy
Le problème est un fichier mal formé sous /etc/yum.repos.d- remi.repole nom de fichier dans ce cas s’est avéré
Curtis Mattoon
1

Voici encore une autre possibilité que je suis tombé sur, causant ce problème:

J'utilisais un module Puppet pour créer le référentiel EPEL pour CentOS, le module stahnma / epel.

Dans le module, il a construit l'URL du dépôt avec la variable ::os_maj_versionqui n'existait pas dans ma liste de faits. Je devais remplacer cela par :: operatingsystemmajrelease.

Donc, l'URL en /etc/yum.repos.d/epel.repoétait mal formé.

Mojo
la source
0

Cela m’est arrivé dans un environnement Centos 7 et j’ai pu le résoudre avec la commande suivante:

yum clean all

Je n'avais exécuté aucune commande yum depuis quelques mois, il semble que les métadonnées en cache soient devenues obsolètes.

Elouan Keryell-Even
la source
0

Toutes les réponses précédentes sont correctes mais n'ont malheureusement pas fonctionné pour moi. La commande ci-dessous a fonctionné pour moi:

Attention, cela effacera tous vos dépôts Centos !!! utilisez ceci à vos risques et périls

mkdir ~/backup
cp -r /etc/yum.repos.d/Cen* ~/backup
rm /etc/yum.repos.d/Cen*
grepit
la source
cela supprimera repo du système
Saurabh Chandra Patel
Vous devriez probablement envisager d'inclure la procédure pour recréer les fichiers de référentiel supprimés une fois que vous les avez tous supprimés.
Kusalananda