马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在国内网络环境里用 CentOS 7 做开发或运维,最烦人的往往不是装什么软件,而是 yum install 卡半天最后报"无法连接镜像源"。把 yum 源换成国内镜像是性价比最高的一步操作。本文给出从验证网络、手动写源、下载阿里云 repo、清缓存到验证结果的完整流程,并说明每一步在干什么。
一、先验证能不能连通目标镜像
动手改配置之前,先确认这台机器到底通不通阿里云源,避免白改一场:
ping mirrors.aliyun.com
如果 ping 不通,说明这台机器本身没有到公网的正常出口。此时可以找一台能上网的机器 ping mirrors.aliyun.com,把解析出来的 IP 记下来。这个 IP 有两个用处:一是确认域名解析结果,二是后面如果连 https 都不通,可以判断是不是 DNS 或出口路由的问题。真正要改 DNS 的话,去 /etc/resolv.conf 里加一条 nameserver 即可。
二、手动清理原有 yum 源配置
先把系统自带的源目录清空,避免新旧配置打架:
rm -rf /etc/yum.repos.d/*
清空前如果担心留后路,也可以先备份整个目录再删,这属于个人习惯,两种做法都行。
三、下载阿里云的 repo 文件
两条常用下载命令,任选其一(-O 指定输出文件名):
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
没有 wget 就用 curl,-o 小写字母指定输出:
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
提示一下命令参数区别:wget -O 里 O 是大写(输出文件),curl -o 里 o 是小写。这两个字母写反了是常见错误,而且报错会很莫名,记一下就好。
版本要对应:CentOS 7 用 Centos-7.repo,6 用 Centos-6.repo,8 用 Centos-8.repo,别照抄 7 的文件名去 8 上用。
四、清缓存并生成新缓存
yum 有本地缓存,不清理的话会继续用旧的元数据,改了源也不生效:
yum clean all
再重建一份缓存,让新源的信息落到本地:
yum makecache
这两条是配套的,只清不建或只建不清都可能出问题。
五、验证源已经生效
yum repolist
输出里能看到阿里云的地址,就说明源换成功了。后续用 yum search、yum install 验证速度是否明显变快,是最直观的体感检验。
六、几个容易踩的点
- 改了不生效:八成是
makecache 没跑,或者有多个 repo 文件并存打架,先 ls /etc/yum.repos.d/ 看一眼是不是还有旧的 leftover;
- 512 或 404:文件名里的版本号和系统版本对不上,比如 CentOS 7 用了 Centos-8 的 repo;
- epel 等第三方源也要换:只换 Base 源的话,EPEL 这类附加源还是慢,需要单独换对应的 repo 文件;
- CentOS 7 已停止维护:官方 base 源早已迁到 vault,这也是很多人一开始就报"仓库不可用"的根因——所以换国内镜像不只是提速,更是能不能用的问题。
七、一句话复盘
整条链路就是:先 ping 确认网络 → 清掉旧 repo → 下载阿里云 Centos-7.repo → clean 再 makecache → repolist 验证。 其中 yum clean all 和 yum makecache 这两条必须成对出现,这是新手最常漏的一步。
qidao123.com企服评测-应用市场 编辑提示 |