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 安装mysql和mysqlclient遇到的坑总结

    下面是详细的“CentOS 7安装MySQL和MySQL Client遇到的坑总结”攻略,包含了安装的步骤和遇到的坑以及示例说明。 安装MySQL 安装MySQL Server 添加MySQL的YUM源,命令如下: sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.…

    Linux 2023年5月14日
    00
  • centos 6.6 安装 KVM 虚拟机的方法

    CentOS 6.6 安装 KVM 虚拟机的方法如下: 安装前准备 确保机器支持硬件虚拟化,并开启 确保安装了yum源 1. 安装KVM相关工具包 yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install 2. 添加用户到libvirt组 usermod -aG lib…

    Linux 2023年5月24日
    00
  • linux—学习3

    1.free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。 //-m:以MB为单位显示内存使用情况; free -m 2.vmstat命令的含义为显示虚拟内存状态,但是它可以报告关于进程、内存、I/O等系统整体运行状态。 //事件间隔:状态信息刷新的时间间隔; 次数:显示报告的次数。 vmstat 1 10 3。示例  4…

    Linux 2023年4月12日
    00
  • systemctl 命令设置开机自启动失败

    哈喽大家好,我是咸鱼。今天跟大家分享一个关于 Linux 服务(service)相关的案例   案例现象 我在 3 月 31日的时候发表了一篇《shell 脚本之一键部署安装 Nginx》,介绍了如何通过 shell 脚本一键安装 Nginx   我脚本中执行了 Nginx 开机自启动的命令,当我使用 systemctl status nginx 命令复核的…

    Linux 2023年4月17日
    00
  • 给VM虚拟机中的CentOS Linux系统挂载U盘的方法图文教程

    以下是给VM虚拟机中的CentOS Linux系统挂载U盘的方法: 1. 确认U盘已在VM虚拟机中被识别 使用命令 lsusb 或 dmesg 查看 U 盘是否已经被识别。例如: $ lsusb Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 …

    Linux 2023年5月24日
    00
  • Linux远程部署MySQL数据库详细步骤

    下面我会为您详细讲解“Linux远程部署MySQL数据库详细步骤”的完整攻略,供您参考。 确认环境和准备工作 确认Linux服务器是否已经安装了MySQL数据库相关的依赖库 以下是Ubuntu系统中安装MySQL相关依赖库的命令: sudo apt-get update sudo apt-get install mysql-server sudo apt-g…

    Linux 2023年5月14日
    00
  • Linux-关机命令

    关机命令 shutdown [OPTION]… TIME [MESSAGE] shutdown 选项+时间+信息 常见的关机命令有 shutdown -a ===>使用/etc/shutdown.allow 来验证身份 shutdown -t  ===>t表示time 后面一般会接时间(s秒),表示多久之后,在发送kill信号 shutdow…

    Linux 2023年4月11日
    00
  • Linux系统下怎么搭建Gitlab服务器

    本篇内容主要讲解“Linux系统下怎么搭建Gitlab服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统下怎么搭建Gitlab服务器”吧! 1、安装依赖工具 // 安装技术依赖 yum install -y curl policycoreutils-python openssh-server //…

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