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

下面是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包的完整攻略和两个示例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos系统中用mock构建rpm的方法 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • CentOS7使用dnf安装mysql的方法

    下面就为您详细讲解一下“CentOS7使用dnf安装mysql的方法”的完整攻略。 步骤一:安装dnf 首先,您需要先在您的CentOS 7系统中安装dnf。进行如下操作即可安装: sudo yum install epel-release -y sudo yum install dnf -y 步骤二:添加MySQL 8.0的repository 接下来,您…

    Linux 2023年5月14日
    00
  • Linux下 rpm 命令查询方法

    下面是关于“Linux下rpm命令查询方法”的完整攻略。 一、介绍 在 Linux 操作系统中,rpm 命令是常用的包管理工具,它能够安装、升级、卸载基于 RPM 包格式打包的软件。有时候我们需要查询某些软件包是否已经安装、安装到什么位置以及版本信息等。接下来我们将介绍使用 rpm 命令进行查询的方法。 二、rpm 查询命令 rpm 命令的查询选项主要有以下…

    Linux 2023年5月14日
    00
  • CentOS系统下安装及配置JDK介绍

    以下是CentOS系统下安装及配置JDK的完整攻略: 安装JDK 下载JDK安装包 首先,需要到Oracle官网下载JDK的压缩包。选择对应的版本,下载地址如下: https://www.oracle.com/java/technologies/javase-downloads.html 解压安装包 将下载的JDK安装包复制到想要安装的目录下,一般可以选择/…

    Linux 2023年5月14日
    00
  • 服务器卡死,ssh连接不上-finalshell导致

    问题:客户反馈服务器ssh连接不上 设备信息:Asianux Server release 7.3.1512(Lotus) 定位:通过虚拟机控制台重启服务器,发现能登录虚拟机,查看服务器各种状态都正常。客户使用一段时间后又卡死,ssh连接不上,登录发现进程数有一万多个,导致内存不足,服务器卡断查看进程发现很多bash指令一直在执行,查看开机启动脚本,定时任务…

    Linux 2023年5月9日
    00
  • linux下mysql 5.7.16 免安装版本图文教程

    下面我为您详细讲解一下“Linux下MySQL 5.7.16免安装版本图文教程”的完整攻略。 1. 下载MySQL安装包 首先,我们需要在官网上下载MySQL 5.7.16版本的安装包。该地址为: https://dev.mysql.com/downloads/mysql/5.7.html 。 在该页面中,我们选择“Linux – Generic”选项,然后…

    Linux 2023年5月14日
    00
  • Linux | nvidia-smi 命令使用记录

    参考文章链接:https://blog.csdn.net/weixin_44966641/article/details/121228579 简介 nvidia smi(也称为NVSMI)为来自 Fermi 和更高体系结构系列的 nvidia Tesla、Quadro、GRID 和 GeForce 设备提供监控和管理功能。GeForce Titan系列设备支…

    Linux 2023年5月4日
    00
  • 从内核源码看 slab 内存池的创建初始化流程

    在上篇文章 《细节拉满,80 张图带你一步一步推演 slab 内存池的设计与实现》中,笔者从 slab cache 的总体架构演进角度以及 slab cache 的运行原理角度为大家勾勒出了 slab cache 的总体架构视图,基于这个视图详细阐述了 slab cache 的内存分配以及释放原理。 slab cache 机制确实比较复杂,涉及到的场景又很多…

    Linux 2023年4月17日
    00
  • Linux系统安装

    1.1下载虚拟机软件 虚拟机软件有:1、VirtualBox,一款免费开源的虚拟机软件;2、VMware Workstation;3、Java 虚拟机(JVM  下载:VMware-workstation-full-12.5.6-5528349 1.2VMware的安装 First step:    运行“VMware_workstation_full_12…

    Linux 2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部