搭建yum源站点与配置本地yum源repo文件

📅 2026/7/13 7:28:45
搭建yum源站点与配置本地yum源repo文件
搭建CenOS Stream 9本地yum源站点与配置本地yum源repo文件本次实操围绕无外网环境下的软件安装需求展开完整演示从「本地yum源站点搭建」到「客户端repo配置」再到「离线安装验证」的全流程共分为4个核心环节前置准备确保系统镜像正常连接为本地源提供软件包基础服务端脚本搭建通过Shell一键部署http协议的本地yum源站点客户端脚本配置自动生成repo文件指向本地源离线验证断网状态下正常安装/卸载软件验证本地源有效性在企业生产环境中绝大多数服务器均处于内网隔离状态禁止访问公网核心原因如下安全合规要求公网存在病毒、木马、恶意攻击风险生产服务器直接连外网极易引发数据泄露、服务器被入侵等安全事故企业安全策略会强制断网隔离。网络稳定性与带宽管控公网网络波动、延迟高会导致软件下载失败、安装中断同时批量服务器同时访问公网源会占用大量带宽影响核心业务网络。版本统一与兼容性保障公网yum源软件版本会持续更新易出现版本冲突、依赖不兼容问题本地源可锁定系统镜像内的稳定版本保证所有服务器软件环境一致。批量部署效率提升搭建一台本地源服务器内网所有机器均可通过内网高速访问安装速度远快于公网适配服务器批量初始化、运维标准化场景。离线环境刚需金融、政务、能源等涉密/封闭内网完全无外网出口本地yum源是安装软件的唯一可行方案。实操逻辑梳理服务端以系统镜像为软件包仓库通过http共享给内网机器客户端指向服务端地址替代公网源实现离线安装全程Shell脚本化简化操作、避免人为失误可直接用于企业标准化运维具体实战步骤一、确保系统镜像处于连接状态二、用Shell脚本快速搭建本地yum源站点cat local_yum_repos.shEOF #!/bin/bash #作用快速搭建本地yum源 #作者传棋(Jaking) #邮箱Jakingvip.163.com #日期2026年4月10日 #安装httpd yum install -y httpd /dev/null if [ $? -eq 0 ];then echo httpd安装成功 else echo 请检查yum源及网络状态 exit fi #启动httpd systemctl enable httpd --now systemctl status httpd --no-pager #挂载系统镜像 echo /dev/cdrom /var/www/html iso9660 defaults 0 0 /etc/fstab systemctl daemon-reload mount -a if [ $? -eq 0 ];then echo 系统镜像挂载成功 else echo 系统镜像挂载失败 exit fi #优化默认配置文件 mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.bak systemctl restart httpd #关闭防火墙及SELinux iptables -F systemctl stop firewalld setenforce 0 #打印最终提示信息 echo 请在浏览器输入http://本机IP访问本地yum源 EOF chmod x local_yum_repos.sh ./local_yum_repos.sh三、用Shell脚本配置本地yum源repo文件vim yum_conf_repo.sh #!/bin/bash #作用快速配置本地yum源repo文件 #作者传棋(Jaking) #邮箱Jakingvip.163.com #日期2026年4月10日 # 本地yum源地址 BASEURLhttp://192.168.88.101 echo 1. 备份并删除原有 repo 文件 mkdir -p /etc/yum.repos.d/backup mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ /dev/null echo 2. 生成本地 repo 文件 cat /etc/yum.repos.d/local.repo EOF [BaseOS] nameBaseOS baseurl${BASEURL}/BaseOS/ enabled1 gpgcheck0 [AppStream] nameAppStream baseurl${BASEURL}/AppStream/ enabled1 gpgcheck0 EOF echo 3. 清理缓存并生成缓存 dnf clean all dnf makecache echo 4. 测试仓库 dnf repolist echo 完成 chmod x yum_conf_repo.sh ./yum_conf_repo.sh四、不通外网的情况下安装软件# 测试连通性ping 4次 www.163.com ping -c 4 www.163.com # 进入yum仓库配置目录 cd /etc/yum.repos.d/ # 查看目录文件 ls # 编辑DNS配置文件 vim /etc/resolv.conf # 查看DNS配置文件内容 cat /etc/resolv.conf [rootserver2 yum.repos.d]# cat /etc/resolv.conf # Generated by NetworkManager #nameserver 192.168.88.2 #nameserver 114.114.114.114 # 再次测试域名解析 ping -c 4 www.163.com # 将yum仓库文件移动到/tmp可选操作 mv * /tmp # 查看目录 ls # 再次测试域名解析 ping -c 4 www.163.com # 卸载wget软件包 yum remove -y wget # 安装wget软件包 yum install -y wget # 查询wget版本信息 rpm -qa wget # 查看系统时间 date -R # 卸载httpd相关软件包 yum remove -y httpd # 安装httpd软件包 yum install -y httpd # 再次测试域名解析 ping www.163.com本地file模式yum源注意这种模式只能解决本机的yum源问题# 编辑开机自动挂载配置文件 vim /etc/fstab # 查看 /etc/fstab 配置内容 cat /etc/fstab # /etc/fstab # Created by anaconda on Fri Jul 18 07:48:14 2025 # # Accessible filesystems, by reference, are maintained under /dev/disk/. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run systemctl daemon-reload to update systemd # units generated from this file. # # 加载 /etc/fstab 里所有挂载配置 mount -a # 查看磁盘挂载信息 df -h # 进入 yum 仓库配置目录 cd /etc/yum.repos.d # 查看当前所在路径 pwd # 编辑本地 yum 源配置文件 vim local.repo # 查看本地 yum 源配置文件内容 cat local.repo [BaseOS] nameBaseOS baseurlfile:///var/www/html/BaseOS/ enabled1 gpgcheck0 [AppStream] nameAppStream baseurlfile:///var/www/html/AppStream/ enabled1 gpgcheck0整体流程回顾前置准备确保虚拟机/物理机已连接系统镜像为本地yum源提供完整软件包支撑。服务端搭建使用一键脚本安装httpd服务永久挂载系统镜像到网页目录关闭防火墙与SELinux将系统镜像发布为http内网yum仓库。客户端配置通过脚本自动备份原有repo、生成新的本地源配置文件指向内网yum服务端地址重建缓存并生效。离线验证在完全不通外网的环境下成功使用yum安装、卸载软件证明本地yum源可用、稳定、高效。关键技术要点总结使用httpd共享系统镜像实现内网http协议访问yum源。通过/etc/fstab实现镜像永久挂载避免重启失效。Shell脚本自动化部署减少重复操作提高部署一致性。自定义.repo配置文件区分BaseOS与AppStream仓库适配RHEL/CentOS Stream系统。关闭防火墙、清空规则、关闭SELinux保证内网访问畅通。