自行构建RPM仓库
有时候我们可能会需要自行编译RPM包,关于如何编译RPM包,可以查看呉真的这篇博文,当有了RPM包后,我们可能会需要分发到多台服务器上去,如果采用手工传输的方法,不免有些麻烦。这时可以自行搭建一个RPM仓库,使用yum/dnf一键安装自行编译的RPM包。
目录结构
一个典型的RPM仓库的目录结构是这样的:
1 |
├── centos |
每个具有repodata
的目录可以视为一个小仓库,SRPMS
用于存放RPM包的源文件,RPMS
用于存放编译好的RPM包
创建RPM仓库
我们先创建目录结构,在这里我们以操作CentOS 7分支为例。
1 |
mkdir -p centos/7/SRPMS |
使用createrepo
命令,建立RPM仓库。
1 |
yum -y install createrepo |
加入RPM包
- 将
.src.rpm
源码包放入centos/7/SRPMS
目录 - 将
.rpm
二进制包放入centos/7/x86_64/RPMS
目录
再一次使用createrepo
命令,更新包索引。
1 |
createrepo --update centos/7/SRPMS |
以后每加入一次包,都需要使用createrepo --update
命令,重新更新包索引。
发布RPM仓库
至此RPM仓库搭建完成,非常简单,我们可以使用HTTP/FTP服务发布RPM仓库,呉真将一个仓库发布在了Github Page上,仓库源地址为:https://github.com/kuretru/packages。