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

前言

在centos下执行rpmbuild -ba package.spec的时候,通常会要求系统也安装对应的依赖包,这样就会导致系统装上许多没用的软件包,占用空间。于是搜索了一下,发现可以通过mock命令来解决这个问题。

构建方法

首先是安装mock,由于mock是在epel仓库里的,所以还需要先装epel仓库

yum -y install epel-release
yum -y install mock

通常情况下使用rpmbuild会新开一个用户,比如builder,这样就不会污染系统环境。我们需要把builder用户加入mock用户组

usermod -a -G mock builder

mock下使用rebuild需要src.rpm文件,所以如果只有.spec文件的话,需要先生成src.rpm文件

rpmbuild -bs package.spec

这样在SRPM目录下就会生成一个src.rpm文件了,然后就可以通过mock命令来rebuild rpm文件

首先需要初始化mock环境,在/etc/mock文件夹下有各个环境的配置文件,比如centos 6就是epel-6-x86_64,初始化命令就是:

mock -r epel-6-x86_64 --init

初始化完毕之后就可以开始构建了

mock -r epel-6-x86_64 rebuild package-1.1-1.src.rpm

构建完毕,rpm文件会存放在/var/lib/mock/epel-6-x86_64/result目录下。当然我们可以通过–resultdir参数来指定rpm文件的生成目录

mock -r epel-6-x86_64 rebuild package-1.1-1.src.rpm --resultdir=/home/builder/rpms

最后执行clean命令清理环境

mock -r epel-6-x86_64 --clean

总结

以上就是关于Centos下使用mock构建rpm的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索python
, centos
, rpm
, mock
构建rpm包
mockbuilder rpm、构建rpm包、centos rpm 安装、centos rpm、centos安装rpm包,以便于您获取更多的相关知识。

时间: 2024-10-23 04:22:18

Centos系统中用mock构建rpm的方法_Linux的相关文章

centos系统搭建本地yum服务器的方法_Linux

前言 首先特别说明的是,YUM只是为了解决RPM的依赖关系的问题,而不是一种其它的软件安装模式.虽然在centos中可以直接使用yum源,但是也存在着与外网隔绝的现状,因此需要搭建本地yum源,下面来看看详细的方法. 系统:centos 6.5 1.将光盘挂载到/mnt下面 # mount /dev/cdrom /mnt 2.删除系统自带的repo文件 # cd /etc/yum.repos.d/ # mkdir bak # mv *.repo bak 3.安装createrepo(其实只要安装

CentOS系统临时禁止一个用户的方法_Linux

前言 在使用CentOS系统的过程中,如果不想删除用户,只是临时或短期内禁止某个用户登录系统,可以通过下面两种办法实现: 1.只把用户的记录从/etc/passwd文件中去掉,仅保留其主目录和其他文件不变: 2.在/etc/passwd文件(或/etc/shadow)中,关于该用户的passwd域的第一个字符前面加上一个"*"号即可. 注意:这只是禁止某个用户.如果要删除一个用户,需要删除的项包括: 1. /etc/passwd文件中的相关用户记录: 2. /etc/group文件中的

VMware环境安装64位CentOS系统无法全虚拟化的解决方法

VMware Workstation是一款桌面虚拟计算机软件,允许多个操作系统在一台虚拟机内部运行,可是当VMware Workstation在安装64位CentOS系统的时候遇到了不支持全虚拟化的问题,该如何解决呢? 一.前提: cpu支持Inter VT-X或AMD虚拟化技术,具体参考官网说明. 二.问题描述: 物理机下,VMware Workstation能安装64位CentOS系统,处理器Inter i3 M390,且支持Inter VT-X虚拟化技术,物理机BIOS中已打开Inter虚

Xen虚拟机在CentOS系统中的安装和使用方法_Xen

一.原理讲解     虚拟化的概念:将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,我们不再受限于物理上的界限,而是让CPU.内存.磁盘.I/O等硬件变成可以动态管理的"资源池",从而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具适应力--------这就是服务器的虚拟化.     XEN是目前Linux上的最佳的虚拟化解决方案,特别适合于服务器应用,如用于将多个服务器合并到一台物理服务器上,以节省运营成本(机房空间.电力消耗

CentOS 7安装完成后初始化的方法_Linux

1.添加用户 新增名为"wang"的用户 [root@vdevops ~]# useradd wang #添加账户 [root@vdevops ~]# passwd wang #设置密码 Changing password for user wang. New password: Retype new password: passwd: all authentication tokens updated successfully. [root@vdevops ~]# exit #退出

CentOS系统中只下载RPM包而不进行安装的方法

  通常是使用yum来安装解决依赖包关系,如果有一台服务器没法连接外网或yum源没有设置,希望通过另一台服务器将这些RPM包下载下来,然后再去安装.那么怎么使用yum工具来下载RPM包呢? 使用yum 要使用--downloadonly选项,需要先安装yum-plugin-downloadonly,不安装该包的话,会报下面的错误信息:Command line error: no such option: --downloadonly 代码如下: # yum install yum-plugin-

CentOS 6.7系统下安装配置JDK的方法_Linux

前言 本文是主要是记录CentOS 6.7系统下安装JDK7的过程记录,下面话不多说,来一起看看吧. 方法如下: 1.上Oracle官方下载最新的JDK安装包,为了方便安装建议下载rpm包       http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.在服务器端执行安装 sudo rpm -ivh /目录/jdk-7-linux-x64.rpm 3.设置环境变量 这里我们需要找到profile文件,添加环境变

CentOS系统中升级指定版本软件方法

下面我来介绍另一种方法.使用yum versionlock 命令来锁定版本. 1. 安装  代码如下 复制代码 # yum install yum-plugin-versionlock.noarch 2. 添加锁定包 将perl包锁定到当前版本  代码如下 复制代码 # yum versionlock perl Loaded plugins: fastestmirror, versionlock Adding versionlock on: 4:perl-5.10.1-127.el6 versi

在CentOS系统上安装REMI仓库的方法

  REMI 仓库提供了CentOS和RHEL的核心包的更新版本,尤其是最新的PHP/MySQL系列(LCTT 译注:当你需要一个更新包,而 CentOS/RHEL 没有及时提供更新时, REMI 仓库可以帮助你). 安装REMI仓库要记住的一件事是不要在启用了REMI仓库时运行yum update.因为REMI仓库的包名与RHEL/CentOS中的相同,运行yum update可能会触发意外的更新.一个好办法是禁用REMI仓库,在你需要安装RMEI仓库中独有的包时再启用. 预备工作 安装REM