Como posso corrigir erros de "não é possível encontrar uma base válida para repo" no CentOS?


130

Eu terminei de instalar o CentOS 6, mas quando tentei executar yum update, obtive:

[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

Por que isso está acontecendo? Como posso corrigir isso?


3
Você está conectado à rede? Você pode executar ping mirrorlist.centos.org?
Nikhil Mulley

3
O que acontece se você correr curl 'http://mirrorlist.centos.org/?release=6&arch=i386&repo=os'?
rvs

Respostas:


165

Primeiro, você precisa se conectar, com o AFAIK CentOS 6, no mínimo, defina seu dispositivo de rede ONBOOT=No, faça um dhclientcom privilégios de administrador na interface de rede e você deverá estar em funcionamento:

$ sudo dhclient


11
Eu costumava configurar o cliente dhcp no meu servidor remoto usando ssh de acordo com esta resposta e agora perdi a conexão porque o IP do servidor mudou dinamicamente agora e não estava pensando nesse caso antes de aplicar as alterações. Essa resposta é falaciosa, sem descrição suficiente e leva a mal-entendidos.
Mojtaba Rezaeian

4
Para a versão do CentOS-7 (1611), ela ONBOOT=Noestá localizada em um arquivo como /etc/sysconfig/network-scripts/ifcfg-enp0s3. Eu editei esse arquivo ONBOOT=yese reiniciei-o.
Johnny Wong

2
Mudar para ONBOOT=yesem /etc/sysconfig/network-scripts/ifcfg-enp0s3obras para mim, graças @JohnnyWong
Evi Canção

24

Eu estava lutando com o mesmo problema em Centos6.4 x86_64. Eu recebi o seguinte erro:

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

Então, eu o corrigi por estas etapas:

editar interface de rede. Para o meu caso, usei eth0no CentOS 6.X No CentOS 7, você pode usar a interface "ensxxx".

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

atualize NM_CONTROLLED para no

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

reinicie a interface de rede

ifdown eth0
ifup eth0

11
ifcfg-eth0não existe no CentOs 7
shailenTJ

@shailenTJ Basta tocar ~ funciona bem.
Eddie B

11
@shailenTJ Eles mudaram o sistema de nomes, será enpXsX, no meu sistema é enp0s3, mas provavelmente será um pouco diferente do seu.
MarcusJ

Se você fizer a "instalação mínima", será "ifcfg-enpls0f0". Mas se você instalar com uma GUI, ela substitui esse arquivo por outra coisa. Em seguida, use a ferramenta de configurações de rede no canto superior direito da tela principal da área de trabalho.
precisa saber é o seguinte

4.2.2.2provavelmente não é a entrada DNS que você deseja!
Dolph

14

Eu tive o mesmo problema e ele foi resolvido depois que editei o /etc/yum.confarquivo. Se você estiver executando no servidor proxy e o IP fornecido ao servidor for ignorado, mas ainda assim quando você abrir no navegador (IE - precisamos dar uma marca de seleção no proxy, mas não será necessário fornecer nome de usuário e senha).

Adicione esta linha a seguir na seção principal do arquivo /etc/yum.conf.

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

ou seja, substituindo o endereço do proxy pelo proxy real. Mude também o número da porta, se não for 8080.

Se o proxy exigir autenticação, inclua isso também no arquivo

proxy_username=username
proxy_password=password

9

Editei o arquivo /etc/yum.repos.d/CentOS-Base.repoe descomentei 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

11
Obrigado! Isso funcionou para mim. Alguém sabe por que isso é necessário ou por que foi comentado se necessário?
Rich

9

Se o ping de um host conhecido por seu nome (por exemplo ping www.google.com) retornar, ping: unknown hostmas o ping de um ip (por exemplo ping 8.8.8.8) funcionar bem, você terá um problema de resolução de DNS - tente adicionar essas entradas a /etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4

2

Ontem tive o mesmo problema e passei horas tentando resolvê-lo. A solução acabou sendo simples.

Exclua o conteúdo /etc/yum.repos.d/remi.repoe execute

# yum update

Está feito! O conteúdo do arquivo iniciará o download novamente e será configurado.


Onde esse remi.repoarquivo está localizado?

/etc/yum.repos.d/
Steven Kryskalla

Posso sentir falta de alguma coisa, mas onde você vê que ele tem o repo do Remi instalado? Ele mencionou claramente 'Eu terminei de instalar o CentOS6', duvido que o repo do Remi esteja configurado. Eu posso estar errado ...
Spredzy

O problema é um arquivo malformado em /etc/yum.repos.d- remi.repoapenas passou a ser o nome do arquivo neste caso
Curtis Mattoon

1

Aqui está outra possibilidade que me deparei, causando este problema:

Eu estava usando um módulo Puppet para criar o repositório EPEL para o CentOS, o módulo stahnma / epel.

Dentro do módulo, ele construiu o URL do repositório com a variável ::os_maj_versionque não existia na minha lista de fatos. Eu tive que substituir isso por :: operatingsystemmajrelease.

Portanto, o URL /etc/yum.repos.d/epel.repoestava incorreto.


0

Isso aconteceu comigo em um ambiente Centos 7 e eu pude resolvê-lo com o seguinte comando:

yum clean all

Eu não executei nenhum comando yum por alguns meses, parece que os metadados em cache ficaram obsoletos.


0

Todas as respostas anteriores estão corretas, mas infelizmente não funcionaram para mim. O comando abaixo funcionou para mim:

Atenção, isso excluirá todos os repositórios do Centos !!! Use isso a seu próprio risco

mkdir ~/backup
cp -r /etc/yum.repos.d/Cen* ~/backup
rm /etc/yum.repos.d/Cen*

isso irá excluir repo do sistema
Saurabh Chandra Patel

Você provavelmente deve considerar a inclusão do procedimento para recriar os arquivos de repositório excluídos depois de excluir todos eles.
Kusalananda
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.