在企业运维或开发测试环境中,我们经常需要搭建自己的本地软件仓库,以提高安装效率、节省带宽,或者分发内部构建的RPM包。RockyLinux作为RHEL的社区替代品,完全兼容CentOS生态,使用createrepo工具可以轻松创建本地YUM仓库。本文将从零开始,手把手教你如何在RockyLinux系统上使用createrepo命令创建一个功能完整的本地软件仓库。

在开始之前,请确保你的RockyLinux系统已联网,并具备以下条件:
createrepo 是用于生成YUM仓库元数据的命令行工具。它通常不在最小化安装中,默认需要手动安装。
执行以下命令安装:
sudo dnf install -y createrepo安装完成后,可通过 createrepo --version 验证是否成功。
首先,我们需要一个存放RPM包的目录。你可以将从官方下载的RPM、自己编译打包的RPM,或从其他机器复制的RPM统一放入该目录。
例如,创建一个名为 /repo/local 的目录:
sudo mkdir -p /repo/local然后将你的RPM文件复制进去。假设你有多个RPM包,可以使用如下方式批量复制(示例路径为当前用户下载目录):
sudo cp ~/Downloads/*.rpm /repo/local/进入RPM包所在目录,运行 createrepo 命令即可生成仓库所需的元数据(主要是repodata目录):
cd /repo/localsudo createrepo .执行成功后,你会看到输出类似:
Spawning worker 0 with 10 pkgsWorkers FinishedSaving Primary metadataSaving file lists metadataSaving other metadataGenerating sqlite DBsSqlite DBs complete此时,/repo/local/ 目录下会多出一个 repodata 文件夹,这就是YUM仓库的核心元数据。
为了让系统识别这个新仓库,我们需要创建一个YUM源配置文件。
在 /etc/yum.repos.d/ 目录下新建一个文件,例如 local.repo:
sudo tee /etc/yum.repos.d/local.repo << 'EOF'[local-repo]name=Local RPM Repositorybaseurl=file:///repo/localgpgcheck=0enabled=1EOF参数说明:
[local-repo]:仓库ID,必须唯一name:仓库名称,可自定义baseurl:仓库路径,这里使用 file:// 协议指向本地目录gpgcheck=0:不校验GPG签名(若你的RPM有签名,可设为1并配置gpgkey)enabled=1:启用该仓库运行以下命令清理缓存并重建:
sudo dnf clean allsudo dnf makecache然后列出仓库中的软件包:
dnf list available --disablerepo='*' --enablerepo='local-repo'如果能看到你放入的RPM包列表,说明 RockyLinux createrepo 创建的本地YUM仓库已成功配置!
- 如果你想通过HTTP共享仓库,可将 /repo/local 目录放在Web服务器(如Apache或Nginx)的根目录下,并将 baseurl 改为 http://your-server-ip/repo/local。
- 定期更新仓库:当你向目录添加新RPM时,只需重新运行 createrepo --update . 即可增量更新元数据,无需重建整个仓库。
通过以上步骤,你已经掌握了在RockyLinux中使用 createrepo 工具创建本地YUM仓库的核心技能。无论是用于离线环境部署、内网分发,还是CI/CD流水线中的自定义包管理,这项技术都极具实用价值。
关键词回顾:RockyLinux createrepo、创建本地YUM仓库、RockyLinux软件仓库管理、自定义RPM仓库。
本文由主机测评网于2025-12-23发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20251211798.html