我完成了CentOS 6的安装,但是当我尝试运行yum update时,我得到了:

[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


为什么会这样?我该如何解决?

评论

您已连接到网络吗?您可以ping mirrorlist.centos.org吗?

如果您运行curl'http://mirrorlist.centos.org/?release=6&arch=i386&repo=os'会发生什么?

#1 楼

首先,您需要建立连接,AFAIK CentOS 6最低要求将网络设备设置为ONBOOT=No,只需对网络接口执行具有管理员权限的dhclient,就应该启动并运行:

评论


我曾经根据此答案使用ssh在远程服务器上设置dhcp客户端,但现在丢失了连接,因为服务器IP现在已动态更改,并且在应用更改之前我没有考虑这种情况。如果没有足够的描述,这个答案是错误的,并且会引起误解。

– Mojtaba Rezaeian
17-4-26在4:33



对于CentOS-7(1611)版本,ONBOOT = No位于/ etc / sysconfig / network-scripts / ifcfg-enp0s3等文件中。我将该文件编辑为ONBOOT = yes,然后重新启动即可修复该文件。

–约翰尼·王(Johnny Wong)
17年5月10日在7:21

在/ etc / sysconfig / network-scripts / ifcfg-enp0s3中更改为ONBOOT = yes对我有用,谢谢@JohnnyWong

– Evi Song
17年9月18日在3:09

#2 楼

我一直在Centos6.4 x86_64上遇到同样的问题。我收到以下错误

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

因此,我通过以下步骤对其进行了修复:
编辑网络接口。就我而言,我在CentOS 6.X中使用了eth0
在CentOS 7中,您可以使用“ ensxxx”界面。
vim /etc/sysconfig/network-scripts/ifcfg-eth0

将NM_CONTROLLED更新为no
ONBOOT=no
NM_CONTROLLED=no
BOOTPROTO=dhcp
DNS1=8.8.8.8
DNS2=8.8.4.4

重新启动网络接口
ifdown eth0
ifup eth0


评论


在CentO 7上不存在ifcfg-eth0

– Shailen
15年1月31日在18:31

@shailenTJ只需触摸它就可以了。

– Eddie B
2015年9月5日7:01在

@shailenTJ他们更改了命名系统,它将是enpXsX,在我的系统上是enp0s3,但可能与您的稍有不同。

– MarcusJ
2015年12月15日14:32



如果您执行“最小安装”,则其为“ ifcfg-enpls0f0”。但是,如果使用GUI安装,它将用其他内容覆盖该文件。然后,使用桌面主屏幕右上角的网络设置工具。

–克里斯·杜特洛(Chris Dutrow)
16年4月14日在5:00

4.2.2.2可能不是您想要的DNS条目!

–多尔夫
19年9月12日在18:55

#3 楼

我遇到了同样的问题,并在编辑/etc/yum.conf文件后得到解决。如果您在代理服务器上运行,并且绕过提供给服务器的IP,但仍在浏览器中打开时(IE,我们需要在代理服务器上打勾,而无需提供用户名和密码。)
在/etc/yum.conf文件的主要部分中添加以下行。

如果不是8080,请同时更改端口号。

如果代理需要身份验证,请将其也添加到文件中。

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


#4 楼

我编辑了文件/etc/yum.repos.d/CentOS-Base.repo和未注释的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


评论


谢谢!这对我有用。有谁知道为什么需要它,或者为什么需要它被注释掉了?

–丰富
17年9月18日在13:22

#5 楼

如果以其名称ping一个著名的主机(例如ping www.google.com)返回ping: unknown host,但是ping一个ip(例如ping 8.8.8.8)可以正常工作,那么您就遇到了DNS解析问题-尝试将这些条目添加到/etc/resolv.conf中:

nameserver 8.8.8.8
nameserver 8.8.4.4


#6 楼

昨天我遇到了同样的问题,花了数小时试图解决它。该解决方案最终变得很简单。

删除/etc/yum.repos.d/remi.repo的内容,然后执行

# yum update


完成!该文件的内容将再次开始下载并进行配置。

评论


这个remi.repo文件在哪里?

–user28377
2012年12月6日在11:04



/etc/yum.repos.d/

–史蒂文·克莱斯卡拉(Steven Kryskalla)
13年2月6日在20:40

我可能想念一些东西,但是您在哪里看到他安装了Remi的存储库?他清楚地提到“我已完成CentOS6的安装”,我怀疑Remi的存储库已配置。我可能错了...

–疯狂
13年5月14日在22:21

问题是/etc/yum.repos.d下的格式错误的文件-在这种情况下,remi.repo恰好是文件名

–柯蒂斯·马图恩(Curtis Mattoon)
19年6月24日在17:40

#7 楼

这是我偶然发现的另一个可能导致此问题的可能性:

我正在使用Puppet模块为stentma / epel模块CentOS创建EPEL存储库。

内部在模块中,它使用变量::os_maj_version构造了回购URL,该变量在我的事实列表中不存在。我必须将它替换为:: operatingsystemmajrelease。

所以/etc/yum.repos.d/epel.repo中的URL格式错误。

#8 楼

它在Centos 7环境中发生在我身上,我可以使用以下命令解决它: ,似乎缓存的元数据已过时。

#9 楼

以前的所有答案都是正确的,但不幸的是对我不起作用。
下面的命令对我有用:自担风险

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


评论


这将从系统中删除仓库

– Saurabh Chandra Patel
19年4月22日在15:01

一旦删除了所有存储库文件,您可能应该考虑包括重新创建删除的存储库文件的过程。

– Kusalananda♦
19年6月2日在11:31

#10 楼

在CentOS 6上发生了我的事情,因为它已经到期,因此现在没有任何镜像可用。尽管您可以在所有东西都已移动的地方使用Vault repo。
对于CentOS 6,请执行:
curl https://www.getpagespeed.com/files/centos6-eol.repo --output /etc/yum.repos.d/CentOS-Base.repo

或在此处查看。 >