当前位置 : 主页 > 操作系统 > centos >

Centos系统中用mock构建rpm的方法

来源:互联网 收集:自由互联 发布时间:2023-07-28
下面是CentOS系统中使用mock构建rpm的方法的完整攻略。 安装Mock Mock是一个用于构建rpm包的工具,CentOS系统中可以通过以下命令安装: sudo yum install mock 配置Mock Mock的默认配置文件是位于

下面是CentOS系统中使用mock构建rpm的方法的完整攻略。

安装Mock

Mock是一个用于构建rpm包的工具,CentOS系统中可以通过以下命令安装:

sudo yum install mock
配置Mock

Mock的默认配置文件是位于/etc/mock下的default.cfg文件,可以在该文件中进行Mock的配置。例如可以修改以下配置项:

  • config_opts[dist]:指定系统的发行版本,例如CentOS 7可以配置为config_opts[dist] = centos7
  • config_opts[root]:指定Mock的工作目录,可以指定为一个非系统盘的分区,例如config_opts[root] = /var/lib/mock/centos7-x86_64

另外,Mock还依赖于/etc/mock/site-defaults.cfg文件和/etc/mock/site-defaults.cfg.d目录中的配置文件,这些文件的路径可以在Mock的配置文件中指定。

准备rpm包源码和spec文件

Mock构建rpm的前提是需要准备好源码和spec文件,源码一般是在开源项目的官网上下载,spec文件则是rpm打包的配置文件。

以下是构建nginx的rpm包为例:

  • 源码下载链接:http://nginx.org/download/nginx-1.21.1.tar.gz
  • spec文件下载链接:https://github.com/nginx/nginx-packaging/blob/master/rpm/SPECS/nginx.spec

将下载得到的源码和spec文件放置在同一个目录下,例如~/rpmbuild/SOURCES~/rpmbuild/SPECS目录。

开始构建rpm包

在终端中使用以下命令开始构建rpm包:

mock -r centos7-x86_64 ~/rpmbuild/SPECS/nginx.spec

其中-r参数指定Mock配置文件中的root配置项,即Mock的工作目录。~/rpmbuild/SPECS/nginx.spec则表示要构建的rpm包的spec文件路径。

构建成功后,rpm包会生成在Mock的工作目录中,路径为~/rpmbuild/RPMS/x86_64

示例

下面给出两个示例,分别构建了Docker和Nginx的rpm包。

构建Docker的rpm包
  • 下载Docker源码:
curl -OL https://github.com/docker/docker-ce/archive/v20.10.9.tar.gz
  • 下载Docker的spec文件:
curl -OL https://raw.githubusercontent.com/docker/docker-ce-packaging/20.10-fedora/docker-ce.spec
  • 将源码和spec文件放置到rpmbuild目录中:
mkdir -p ~/rpmbuild/{SOURCES,SPECS}
mv v20.10.9.tar.gz ~/rpmbuild/SOURCES
mv docker-ce.spec ~/rpmbuild/SPECS
  • 构建rpm包:
mock -r centos7-x86_64 ~/rpmbuild/SPECS/docker-ce.spec
  • 构建成功后,rpm包生成在~/rpmbuild/RPMS/x86_64目录中。
构建Nginx的rpm包
  • 下载Nginx源码:
curl -OL http://nginx.org/download/nginx-1.21.1.tar.gz
  • 下载Nginx的spec文件:
curl -OL https://github.com/nginx/nginx-packaging/blob/master/rpm/SPECS/nginx.spec
  • 将源码和spec文件放置到rpmbuild目录中:
mkdir -p ~/rpmbuild/{SOURCES,SPECS}
mv nginx-1.21.1.tar.gz ~/rpmbuild/SOURCES
mv nginx.spec ~/rpmbuild/SPECS
  • 构建rpm包:
mock -r centos7-x86_64 ~/rpmbuild/SPECS/nginx.spec
  • 构建成功后,rpm包生成在~/rpmbuild/RPMS/x86_64目录中。

以上就是CentOS系统中使用Mock构建rpm包的完整攻略和两个示例。

上一篇:VMware安装CentOS图文教程
下一篇:没有了
网友评论