保姆级Centos设置yum源讲授 (本地yum源) 超具体!!!

[复制链接]
发表于 2026-10-3 11:47:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

Yum 源到底是个什么东西

Windows 装软件去应用商店,手机装软件去应用商城,Linux 装 rpm 软件走的是 yum 仓库——它就是 Linux 世界的应用商店。yum install vim 这一条命令背后,yum 会去配置的仓库地址里找包、找依赖、下载、安装,全部自动完成。

那仓库地址从哪来?就写在 /etc/yum.repos.d/ 目录下那些 .repo 文件里。所以「配置 yum 源」本质上就是改这些 .repo 文件里的地址。

Yum 源的两种类型

  • 本地 yum 源:仓库就在本机,一般是把系统镜像(ISO)挂载上来当仓库。不需要联网,适合内网机器、离线装机、无外网的测试环境。
  • 网络 yum 源:仓库在远程服务器上,必须联网。用得多的主要是这一种,除非你是断网环境。

这篇讲本地源的做法,同时也给一份能直接抄的网络源配置。

一、准备镜像并挂载

先把 ISO 镜像传上去(可以用 Xshell/Xftp 拖,或 scp),然后建挂载点并挂载:

# 建挂载目录
mkdir /media/cdrom

# 挂载镜像(/dev/cdrom 在这里指向那个 iso)
mount /dev/cdrom /media/cdrom

# 确认能看内容
ls /media/cdrom
# 应该能看到 Packages/ repodata/ 之类目录

如果是把 iso 文件直接挂到 Loop 设备:

mount -o loop /root/CentOS-7-x86_64-DVD.iso /media/cdrom

生产上建议写进 /etc/fstab,重启自动挂:

/dev/cdrom   /media/cdrom   iso9660   defaults   0   0

二、清掉原来的网络源

进配置目录:

cd /etc/yum.repos.d/
ls

一般会看到 CentOS-Base.repo、CentOS-Media.repo 等一堆。两个思路:

  • 不删只改名(更安全):mv CentOS-Base.repo CentOS-Base.repo.bak,让它不生效但不丢文件。
  • 删干净重来:rm -f CentOS-Base.repo。

因为 CentOS-Base.repo 里指向的是网络源,留着它本地源就白配了。

三、启用本地源配置文件

打开 CentOS-Media.repo:

vi CentOS-Media.repo

把里面的:

enabled=0

改成:

enabled=1

同时确认 baseurl 指向挂载点,一般是:

baseurl=file:///media/cdrom

保存退出:按 Esc → 按住 Shift + : → 输入 wq → 回车。

如果 gpgcheck=1 且校验失败(内网常见),先改成 gpgcheck=0 跳过签名校验。

四、验证并试用

# 看仓库能不能列出来
yum repolist

能看到 c7-media 之类的本地仓库和包数量就成功了。试着装个包:

yum install -y vim

全程不走外网、秒装完,本地源就通了。

五、Yum 常用命令

# 安装:默认从仓库装,多个包空格隔开;-y 跳过交互确认
yum install 包名 -y

# 装本地指定路径的 rpm(不走仓库)
yum install ./xxx.rpm
# 或
yum localinstall ./xxx.rpm

# 卸载
yum remove 包名
yum erase  包名

# 更新:升级仓库里所有比本机已安装新 version 的软件
yum update
# 只升级指定软件
yum update 包名

# 搜索
yum search mysql

# 查看某个包提供了哪些文件 / 属于哪个包
yum provides /usr/bin/vim

装之前先 yum list | grep 包名 确认包在不在仓库里,能省掉一半「无匹配」的困惑。

六、进阶:手写一个自定义 .repo

不想动系统自带的,直接新建自己的配置文件,后缀必须是 .repo:

vi /etc/yum.repos.d/local.repo

内容模板:

[local]
name=local repo
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0

四个字段含义:

字段作用
[local]仓库 ID,不能和已有的重复,别带特殊符号
name仓库描述,可写可不写
baseurl仓库路径,本地用 file://,网络源用 http:///https://
enabled是否启用,1 启用,0 停用
gpgcheck是否校验包签名,0 不校验,1 校验

写网络源就把 baseurl 换成阿里云/华为云的地址,例如:

[ali]
name=aliyun
baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0

七、排错清单

  • Could not resolve host:网络源但没网 / DNS 没配,本地源不受影响。
  • Cannot find package:yum clean all && yum makecache 重建缓存后再试——改完 repo 不清缓存是最常见的原因。
  • yum repolist 里看不到新仓库:配置文件后缀不对(必须是 .repo),或者 enabled=0 忘了改,或者 baseurl 路径写错导致 repodata 读不到。
  • Error: cannot retrieve repodata/repomd.xml:挂载没成功,先 ls /media/cdrom 确认目录里有内容。
  • 改完所有配置记得 yum clean all && yum makecache 让新源真正生效。

小结

本地 yum 源三步走:挂载镜像 → 干掉 Base 源、把 Media 源 enabled=0 改成 1(或自己写 .repo)→ yum clean all && yum makecache,然后 yum repolist 验货。核心就一句话:yum 装包靠的是 .repo 文件里的 baseurl,改源就是改地址,改完必须清缓存。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表