RHEL/CentOS 离线部署指南:配置本地 ISO 镜像作为 YUM 仓库

引言

在 Linux 系统管理工作中,有时我们需要在没有网络连接的环境中安装软件包,或者希望使用特定的 ISO 镜像作为软件源。本文将详细介绍如何在 RHEL(Red Hat Enterprise Linux)或 CentOS 系统中,将本地 ISO 镜像配置为 YUM 仓库,实现离线软件包安装。

通过本文的步骤,您可以:

  1. 创建正确的 YUM 仓库配置文件
  2. 挂载 ISO 镜像到指定目录
  3. 配置本地仓库并验证可用性
  4. 解决常见的配置问题

这种方法特别适用于:

  • 离线环境下的系统部署
  • 需要重复安装相同软件包的环境
  • 测试特定版本软件包的场景

1. 创建配置文件Linux/CentOS 中配置本地 ISO 镜像作为 YUM 仓库

sudo vi /etc/yum.repos.d/iso.repo

配置内容详解:

复制代码
[iso_base]                    # 仓库ID,用于唯一标识这个仓库
name=iso_base                # 仓库显示名称,在 yum repolist 中显示
baseurl=file:///mnt/BaseOS/  # 仓库路径,file:// 表示本地文件系统路径
gpgcheck=0                   # GPG签名检查,0=禁用,1=启用(需要配置gpgkey)
enabled=1                    # 仓库启用状态,1=启用,0=禁用

[iso_app]                     # 第二个仓库的ID
name=iso_app                 # 第二个仓库的显示名称
baseurl=file:///mnt/AppStream/ # AppStream 仓库路径
gpgcheck=0                   # 同样禁用GPG检查
enabled=1                    # 启用该仓库

关键参数解释:

  • baseurl : 指定仓库的路径。file:// 协议表示本地文件系统,后面跟的是 ISO 镜像挂载后的实际路径。
  • gpgcheck: 设置为 0 表示不检查软件包的 GPG 签名。在生产环境中,建议配置正确的 GPG 密钥并设置为 1 以确保软件包完整性。
  • enabled: 设置为 1 表示该仓库可用,yum 会从这个仓库搜索和安装软件包。

RHEL/CentOS 8 及以后的版本通常包含两个主要仓库:

  1. BaseOS: 包含操作系统核心组件和基础软件包
  2. AppStream: 包含应用程序、运行时环境和其他工具

2. 挂载 ISO 镜像

复制代码
mkdir -p /mnt
mount -o loop /path/to/rhel.iso /mnt
# 确认 /mnt/BaseOS 和 /mnt/AppStream 存在
ls -l /mnt/

3. 清理缓存并验证

复制代码
yum clean all
yum repolist

4. 测试安装

复制代码
sudo yum install -y <任意包名>

5. 常见问题排查

下表列出了配置本地 ISO 镜像作为 YUM 仓库时可能遇到的常见问题及其解决方法:

问题现象 可能原因 解决方法
yum repolist 看不到仓库 配置文件后缀不是 .repo 将配置文件重命名为以 .repo 结尾
baseurl 找不到路径 挂载点不存在或路径写错 使用 ls /mnt/BaseOS 检查目录是否存在
yum install 报错 gpgcheck=1 但未配置 GPG 密钥 临时设为 gpgcheck=0,或配置正确的 gpgkey
仓库 ID 冲突 与其他仓库重名 修改 [仓库ID] 为唯一值
相关推荐
qetfw1 小时前
Debian OpenSSL CA 证书配置参考:根证书、服务证书与验证
linux·debian·ssl·openssl
HiDev_1 小时前
【非标自动化】硬核阅读理解620行梯形图-逆推工位逻辑
运维·自动化
长江&后浪2 小时前
华为wlan实验-三层旁挂
运维·服务器·网络·华为
梓沂2 小时前
CentOS 7.9 静默安装 Oracle 11gR2 企业版全记录
linux·oracle·centos
蜀道山老天师2 小时前
Zabbix监控Docker容器应用实践完整指南
linux·运维·docker·容器·zabbix
hweiyu002 小时前
Linux命令:info
linux·运维
xiaoxiangsiyan2 小时前
机房交换机交换技术与服务器链路聚合深度指南
运维·服务器·网络·学习·自动化·bond
星空2 小时前
WordPress在docker中部署
运维·docker·容器
wsad05323 小时前
CentOS Stream 10 Docker 容器无法访问外网:xt_addrtype 内核模块缺失解决方法
linux·网络·docker·云原生·eureka·centos