创建一个用于挂载 ISO 的目录

[root@localhost ~]# mkdir -p /mnt/centos_iso

挂载ISO镜像挂载到/mnt/centos_iso

[root@localhost ~]# mount /dev/cdrom /mnt/centos_iso/
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# df -HT
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  498M     0  498M   0% /dev
tmpfs                   tmpfs     510M     0  510M   0% /dev/shm
tmpfs                   tmpfs     510M  8.1M  502M   2% /run
tmpfs                   tmpfs     510M     0  510M   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        19G  1.4G   17G   8% /
/dev/sda1               xfs       1.1G  144M  920M  14% /boot
tmpfs                   tmpfs     102M     0  102M   0% /run/user/0
/dev/sr0                iso9660   1.1G  1.1G     0 100% /mnt/centos_iso

第二步:准备 YUM 配置文件

为了避免冲突,我们先把系统自带的网络源配置文件移走。

bash

# 1. 进入 YUM 配置文件目录
cd /etc/yum.repos.d/

# 2. 创建一个备份目录
mkdir bak

# 3. 将所有 .repo 文件移动到备份目录
mv *.repo bak/

第三步:创建并编辑本地源配置文件

这是最关键的一步。我们将创建一个新的配置文件 local.repo

[root@localhost yum.repos.d]# vi /etc/yum.repos.d/local.repo


[local]
name=CentOS-Local-Repo
baseurl=file:///mnt/centos_iso/
enabled=1
# 开启 GPG 校验以保证软件包安全性
gpgcheck=1
# 指定 GPG 密钥文件的本地路径
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

内容解释:

  • [local]: 仓库的唯一标识符。

  • name=...: 仓库的名称,方便人识别。

  • baseurl=file:///mnt/centos_iso/最重要的部分file:// 表示本地文件,后面跟上你实际的 ISO 挂载路径。

  • enabled=1: 启用这个仓库。

  • gpgcheck=1: 开启 GPG 校验,确保软件包的完整性和安全性。

  • gpgkey=...: 指定 GPG 密钥文件的路径。注意:路径前后不要加引号,行尾不要加注释

[root@localhost yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: local
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
local                                                                            | 3.6 kB  00:00:00
(1/2): local/group_gz                                                            | 3.5 kB  00:00:00
(2/2): local/primary_db                                                          | 832 kB  00:00:00
repo id                                     repo name                                             status
local                                       CentOS-Local-Repo                                     447
repolist: 447


# 1. 清理所有 YUM 缓存
yum clean all

# 2. 生成新的缓存并列出可用的仓库
yum repolist