安装createrepo工具并创建RPM包目录;2. 将RPM包复制到指定目录;3. 使用createrepo生成元数据;4. 配置本地YUM源文件;5. 清理缓存并验证源可用性,可对外发布为http服务。
在linux中搭建本地YUM仓库,主要是通过
createrepo
工具生成RPM包的元数据,使系统可以通过YUM命令安装和管理这些软件包。整个过程不复杂,适合内网环境或离线部署场景。
安装createrepo工具
createrepo是生成YUM仓库元数据的核心工具,大多数Linux发行版都可通过默认源安装。
- centos/RHEL系统执行:
yum install -y createrepo
- 若使用较新版本(如CentOS 8或RHEL 8以上),推荐使用dnf:
dnf install -y createrepo
准备RPM包存放目录
选择一个目录用于存放RPM包,比如
/data/yum-repo
。
mkdir -p /data/yum-repo
将需要的RPM包复制到该目录,例如:
cp *.rpm /data/yum-repo/
确保目录中只包含合法的RPM文件,避免杂乱文件影响元数据生成。
生成仓库元数据
进入RPM包目录,运行createrepo命令生成repodata:
createrepo /data/yum-repo/
首次执行会扫描所有RPM包并生成xml格式的元数据,存放在
repodata/
子目录中。
如果后续添加了新RPM包,可更新元数据:
createrepo –update /data/yum-repo/
这样只重新处理新增或变更的包,提升效率。
配置本地YUM源文件
在
/etc/yum.repos.d/
目录下创建一个repo文件,例如
local.repo
:
vim /etc/yum.repos.d/local.repo
写入以下内容:
[local-repo]
name=Local YUM Repository
baseurl=file:///data/yum-repo
enabled=1
gpgcheck=0
关键字段说明:
- baseurl:使用file协议指向本地路径,也可用http://或ftp://对外提供服务
- enabled=1:启用该源
- gpgcheck=0:关闭GPG校验(测试环境可关闭,生产建议开启并配置GPG密钥)
验证YUM源是否可用
清除YUM缓存并重建元数据索引:
yum clean all
yum makecache
列出可用包确认仓库生效:
yum list available –disablerepo=* –enablerepo=local-repo
尝试安装一个存在于仓库中的软件包进行测试:
yum install 包名 -y
基本上就这些。只要RPM包完整、路径配置正确、元数据生成无误,本地YUM源就能稳定工作。如需对外提供服务,可将目录通过nginx或apache发布为HTTP源,只需把baseurl改为http地址即可。不复杂但容易忽略细节,比如SELinux权限或防火墙设置。