当前位置:首页>Linux>Linux如何搭建本地YUM仓?

Linux如何搭建本地YUM仓?

  • 2026-09-08 03:55:56
Linux如何搭建本地YUM仓?

在日常运维工作中,经常遇到生产服务器处于内网隔离环境,无法连接外网,搭建 CentOS 7 本地 YUM 仓库是最有效的解决方案。本地仓库不依赖外网,适用于各类内网环境,可大幅提升软件安装速度,同时统一软件版本,避免兼容性问题。本文将提供详细的操作步骤,建议收藏备用。

 一、本地YUM仓库的主要优势

1.不依赖外网:可在内网隔离或无网络环境中正常安装和更新软件包。

2.安装速度快:从本地直接读取软件包,无需下载,显著提升安装效率。

3.版本统一:通过统一仓库中的软件版本,避免多服务器因版本不一致引发故障。

4.安全可靠:规避外网源劫持或恶意软件风险,更适合生产环境使用。

5.搭建简单:基于CentOS 7系统镜像即可完成,无需额外复杂组件,适合初学者上手。

二、搭建前置准备

1.CentOS7系统镜像:推荐下载CentOS-7-x86_64-Everything-2207-02完整版镜像(内置全量基础软件包);

2.CentOS7服务器:作为本地YUM仓载体,预留10G以上磁盘空间即可,保证root权限;

3.基础目录:提前规划镜像挂载、软件包存储目录,本文统一用/mnt/cdrom(镜像挂载)、/data/local-yum(永久本地仓)。

 三、临时光盘YUM仓(方案一)

步骤1:上传并挂载系统镜像

先把下载好的CentOS7镜像上传到服务器/root目录,再创建挂载目录并完成挂载:

# 创建镜像挂载目录mkdir -p /mnt/cdrom # 挂载ISO镜像(替换为你的镜像实际路径) mount /root/CentOS-7-x86_64-Everything-2207-02.iso /mnt/cdrom 

验证挂载:执行ls /mnt/cdrom,能看到Packages(软件包目录)、repodata(索引目录),说明挂载成功。

步骤2:备份原有外网YUM源

CentOS7默认自带外网YUM源,会和本地源冲突,先备份原有配置,防止后续报错:

# 创建备份目录mkdir -p /etc/yum.repos.d/bak # 移动所有外网源配置到备份目录mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/

步骤3:创建本地YUM源配置文件

新建本地源配置文件,指定镜像挂载路径,命令直接抄:

# 新建本地YUM配置文件

vim /etc/yum.repos.d/local-yum.repo  

按i进入编辑模式,粘贴以下配置,无需修改直接用:

[local-yum]name=CentOS7 Local CD YUM baseurl=file:///mnt/cdromgpgcheck=1enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7##命令解释[local-yum]    #仓库唯一标识(ID),yum 通过它区分不同仓库。name=CentOS7 Local CD YUM    #仓库描述性名称,用于显示。baseurl=file:///mnt/cdrom    #仓库访问路径,指向本地挂载点(如 /mnt/cdrom)。gpgcheck=1                   #是否启用 GPG 签名检查(1=启用,保证包来源可靠)。enabled=1                    #是否启用该仓库(1=启用)。gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7    #GPG密钥文件路径,用于验证签名。

按Esc,输入:wq保存退出。

补充:

配置中指定的密钥文件路径 /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 通常会在系统安装时自动生成。如果该文件不存在,可以从光盘中复制过来或指向本地ISO挂载点:

cp /mnt/cdrom/RPM-GPG-KEY-CentOS-7 /etc/pki/rpm-gpg/#密钥文件路径指向本地ISO挂载点gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7

步骤4:清理缓存并生效

执行命令清理旧缓存、生成新的本地缓存,完成配置生效:

# 清理原有缓存yum clean all# 生成新缓存yum makecache 

临时源提醒:该方案重启服务器后挂载会失效,如需永久生效,直接看方案二!

四、永久本地YUM仓(方案二)

这个方案将镜像内的软件包复制到本地磁盘,配置开机自动挂载,重启服务器也能正常使用,还支持后续自定义添加软件包,适配生产环境长期使用,稳定性拉满。

步骤1:配置镜像开机自动挂载

修改系统挂载配置文件,避免重启后镜像挂载失效:

# 编辑挂载配置文件vi /etc/fstab在文件末尾添加一行内容(替换镜像路径为你的实际路径): /root/CentOS-7-x86_64-Everything-2207-02.iso /mnt/cdrom iso9660 defaults 0 0

保存退出后,执行mount -a校验配置,无报错即配置成功。

步骤2:复制软件包到本地目录

创建本地YUM仓存储目录,将镜像内的软件包完整复制过去,长期留存:

# 创建本地YUM仓目录mkdir -p /data/local-yum# 复制镜像内所有软件包(耐心等待,耗时1-2分钟)cp -r /mnt/cdrom/* /data/local-yum/

步骤3:生成本地仓库索引

安装createrepo工具生成仓库索引,让yum识别本地软件包:

# 安装createrepo工具yum install -y createrepo# 生成YUM仓库索引  createrepo /data/local-yum  

执行完成后,/data/local-yum目录下会生成repodata索引文件夹,代表索引创建成功。

步骤4:修改YUM配置并生效

编辑之前的本地源配置文件,将路径改为本地目录路径:  

vi /etc/yum.repos.d/local-yum.repo

修改baseurl为本地目录路径,其余内容不变:

baseurl=file:///data/local-yum

保存退出后,再次执行yum clean all && yum makecache更新缓存,永久本地YUM仓搭建完成!

五、一键验证:本地YUM仓是否生效

搭建完成后必须验证,避免后续装包踩坑,用yum安装基础工具测试最直观:

# 测试安装tree工具,也可测试wget、net-tools等yum install -y tree

出现Complete!提示,代表本地YUM仓正常运行;若提示找不到包,回头检查挂载路径、配置文件、缓存是否更新即可。

 六、常见问题及解决方法

1.镜像挂载失败:检查镜像文件路径是否正确,确认当前用户有root权限,并确保镜像文件未损坏。

2.yum报错无可用源:通常因未备份原外网源或配置文件中的baseurl路径错误导致。请核对路径是否正确,然后重新生成缓存。

3.重启后源失效:原因是未配置开机自动挂载。请按方案二步骤设置/etc/fstab实现永久挂载。

4.gpgcheck校验失败:测试环境可临时将gpgcheck设为0跳过校验;生产环境必须保留校验以确保软件包安全。

长按下图(👇👇)二维码,一键关注“武汉木亘信息技术有限公司”

武汉木亘信息技术有限公司

诚信  共赢  创新  发展

最新文章

随机文章