(っ●ω●)っ

配置 CentOS 使用本地 yum 源

2025-11-30

前言

通过配置本地 yum 源,实现无网络的情况时安装其它软件包,同样适用于 openEuler、Rocky Linux 等红帽系列的操作系统。过于老旧的系统(如 CentOS 6/7)可能不适用于本实验。


实验环境

物理机环境

  1. 操作系统版本:Windows 11 专业工作站版 25H2 26200.7171
  2. VMware 版本:Workstation 17 Pro (17.0.0 build-20800274)
  3. CPU:Core i7-8700,8*2 GB DDR4 2666MHz,500GB NVME SSD,500GB HDD

虚拟机环境

  1. 操作系统版本:Rocky Linux release 9.6 (Blue Onyx)
  2. 虚拟机硬件配置:2 vCPU,2GB Memory,30GB Disk
  3. 网卡:仅主机模式(断开虚拟机与外网的互联网连接)

实操配置

导入 ISO 镜像到虚拟机

如果本地没有 ISO 镜像,可以前往 中科大软件镜像源 自行下载。

选择与你系统版本、系统架构相同的 DVD 全镜像(镜像大小一般为 10GB 左右,镜像文件名一般会出现 EverythingFull 或者 DVD 等字样),从 VMware 导入到你的虚拟机光驱:

image

不出意外的话,输入指令 lsblk 会出现一个类型为 rom 名称为 sr0 的块设备:

image

配置挂载点

创建挂载点

系统默认会将光驱挂载在 /run/media 目录下,但以我的习惯,还是推荐手动配置挂载点。

假设我们想把光驱挂载到 /mnt/cdrom 目录下,需要先创建挂载点:

1
mkdir /mnt/cdrom

临时挂载

⚠ 注意:使用 mount 指令挂载,系统重启后挂载会失效。适合在临时使用时操作。

如果只是临时挂载光驱到挂载点,直接使用一条命令即可实现挂载:

1
mount /dev/sr0 /mnt/cdrom

image

永久挂载

要实现永久挂载,需要修改 /etc/fstab 文件,该文件保存着所有需要自动挂载的挂载条目。

1
vim /etc/fstab

在文件最底下,添加以下条目(注意不要删掉和修改原有的条目):

1
/dev/sr0 /mnt/cdrom iso9660 defaults,loop 0 0

image

修改完成后,按下 Esc 和输入 :wq 保存并退出文件编辑器,然后使用以下命令重新加载 /etc/fstab

1
2
systemctl daemon-reload
mount -av

可以看到光驱成功挂载到 /mnt/cdrom

image

修改 yum 软件源配置文件

yum 所有的软件源配置文件都在 /etc/yum.repos.d 目录下,并且文件以 .repo 结尾。yum 只会读取该目录下的以 .repo 后缀的配置文件。

首先,进入配置文件目录:

1
cd /etc/yum.repos.d

移动原有的配置文件

在该目录下创建一个文件夹(这里以 bak 为例),将原有的配置文件移动进里面,不让 yum 读取这些配置文件。

1
mkdir bak

再将原有的配置文件移动进 bak 文件夹:

1
mv *.repo bak

image

编写新的配置文件

新编写的配置文件,将软件源目录指向刚刚挂载的光驱,实现使用本地源安装软件包。

使用文本编辑器创建/打开配置文件,这里以 local.repo 为例(文件后缀一定是要 .repo 结尾的):

1
vim local.repo

在该文件内写入以下内容,配置两个软件源(注释不用打,即该行的井号和之后的文字),修改完成后,按下 Esc 和输入 :wq 保存并退出文件编辑器:

1
2
3
4
5
6
7
8
9
[AppStream]
baseurl=file:///mnt/cdrom/AppStream #软件源基本路径,指向本地源(AppStream库)
gpgcheck=0 #gpg签名校验,关闭即可(1为打开)
enabled=1 #启用该软件源(0为关闭)

[BaseOS]
baseurl=file:///mnt/cdrom/BaseOS #软件源基本路径,指向本地源(BaseOS库)
gpgcheck=0 #gpg签名校验,关闭即可(1为打开)
enabled=1 #启用该软件源(0为关闭)

image

测试刷新缓存

配置完本地源的配置文件之后,使用 yum makecache 测试能否刷新 yum 缓存:

如果提示 Metadata cache created ,则本地源配置成功。

image


最终效果测试

通过测试安装软件包,再次验证本地源能否正常工作:

1
yum -y install bash-completion tar unzip wget expect

如果出现类似下面的界面,则配置成功,实验结束:

image


常见问题

挂载光驱时提示 No medium found

  1. 请检查 VMware 虚拟机设置中的 CD/DVD -> 设备状态 -> 已连接 复选框是否打勾。如果没有打勾,请打勾。

    image

安装软件时提示 Failed to download metadata

  1. 请检查光驱是否成功挂载到挂载点。使用命令 mount -v | grep /mnt/cdrom 验证,如果输出没有回显则没有成功挂载。

    image

  2. 请检查软件源配置文件路径是否正确,本地源的路径前必须是 file:///,三个斜杠。

    image

  3. 请检查是否将原有的配置文件移除,否则 yum 会从原有的配置文件(网络源)进行下载元数据。

    image