需配置本地YUM源实现离线安装:一、挂载ISO到/mnt/cdrom并验证;二、备份原repo,新建local.repo指向file:///mnt/cdrom;三、若用自定义RPM目录,需createrepo生成repodata;四、yum clean all && yum makecache验证源;五、yum install测试安装成功。

如果您在没有网络连接的Linux服务器上需要安装软件包,但系统无法访问远程YUM仓库,则必须配置本地YUM源以实现离线安装。以下是完成此配置的具体步骤:
一、挂载ISO镜像文件
将CentOS或RHEL的安装光盘ISO文件挂载到系统中,使其内容可被YUM读取。挂载后,系统会将ISO内建的Packages目录识别为软件包存储位置。
1、将CentOS-7-x86_64-DVD-2009.iso文件上传至服务器的/root目录下。
2、创建挂载点目录:mkdir -p /mnt/cdrom。
3、执行挂载命令:mount -o loop /root/CentOS-7-x86_64-DVD-2009.iso /mnt/cdrom。
4、验证挂载结果:ls /mnt/cdrom/Packages | head -5,确认显示.rpm包列表。
二、备份并替换原有repo配置
YUM通过.repo结尾的配置文件定义仓库地址。需禁用默认网络源,启用指向本地挂载路径的新仓库定义,避免YUM尝试联网获取元数据。
1、备份系统原有repo文件:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak。
2、新建本地仓库配置文件:touch /etc/yum.repos.d/local.repo。
3、向该文件写入以下内容:echo "[local] \nname=Local CentOS DVD \nbaseurl=file:///mnt/cdrom \ngpgcheck=0 \nenabled=1" > /etc/yum.repos.d/local.repo。
三、生成本地仓库元数据(适用于自定义RPM目录)
若使用非ISO方式存放RPM包(如手动收集的离线包集合),需用createrepo工具构建repodata目录,否则YUM无法解析依赖关系和包索引。
1、安装createrepo工具:yum install -y createrepo(需在已配置好本地源的机器上执行)。
2、将所有.rpm文件放入统一目录,例如:mkdir -p /opt/myrepo && cp *.rpm /opt/myrepo/。
3、生成元数据:createrepo -v /opt/myrepo,执行完成后目录内将出现repodata子目录。
4、配置对应repo文件,baseurl设为:file:///opt/myrepo。
四、清理YUM缓存并验证源可用性
YUM会缓存旧的仓库元数据,若不清理可能导致仍尝试访问失效的远程地址或加载过期索引,因此必须强制刷新本地缓存。
1、清除全部缓存:yum clean all。
2、重建缓存并列出可用仓库:yum makecache && yum repolist。
3、确认输出中包含local仓库且状态为enabled,且packages数量大于0。
五、测试安装离线软件包
通过实际安装一个基础包来验证本地YUM源是否正确解析依赖并完成部署,确保整个链路无阻断点。
1、查询目标包是否存在于本地源:yum list available | grep vim-enhanced。
2、执行安装命令:yum install -y vim-enhanced。
3、检查安装结果:rpm -q vim-enhanced,返回包名即表示成功。










