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] 为唯一值
相关推荐
此生决int11 小时前
Linux系列(06)——进程概念(上)
linux·运维·服务器
海宇服务11 小时前
零信任架构实战:基于海宇股权穿透构建自动化招投标供应商关联排查网关
运维·人工智能·架构·自动化
wdfk_prog12 小时前
LWIP教程 13:从 `dhcp_start()` 到 `DHCP_STATE_BOUND`——DHCPv4、ACD、Timer 与真实抓包
运维·网络协议
星云低代码开发平台12 小时前
AI 连接器运行健康度:指标、异常恢复和联调清单
大数据·运维·网络·数据库·人工智能·mcp
Sayai12 小时前
Hadoop 集群安全加固实战:YARN 未授权访问漏洞修复,firewalld 白名单 + Nginx 反向代理 Basic Auth 全流程
运维·hadoop·nginx·安全·网络安全
云飞云共享云桌面12 小时前
智能装备数字化转型:云飞云云桌面助力苏州工厂共享 SolidWorks 算力
运维·服务器·3d·自动化·制造
H.莓飛12 小时前
【C++】内存管理
linux·开发语言·jvm·c++·visual studio
yichengerp13 小时前
中小电子厂用什么ERP?电子厂ERP管理软件实施要点与易呈方案推荐
大数据·运维·人工智能·云计算·制造
励志师code13 小时前
RoCE 网络实战:从 NCCL 调优到 RDMA 硬件计数器排障
linux·运维·网络·云计算
水饺编程13 小时前
第2章:Linux 基础,pwd 命令
linux·c语言·汇编