Centos系统中用mock构建rpm的方法
前言
在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的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
相关推荐
-
CentOS6.5下RPM方式安装mysql5.6.33的详细教程
1.mysql下载 下载地址:https://dev.mysql.com/downloads/mysql/5.6.html<br>下载以下安装包: MySQL-client-5.6.33-1.el6.x86_64.rpm MySQL-devel-5.6.33-1.el6.x86_64.rpm MySQL-server-5.6.33-1.el6.x86_64.rpm 2.查看是否已经安装了mysql,有则移除 rpm -qa|grep -i mysql mysql-libs-5.1.66-2.e
-
CentOS下采用Crontab实现PHP脚本定时任务
简单实现一个需求,每5分钟往特定表中插入2条数据.经过分析还是采用crontab方式靠谱,另外执行php脚本的方式,不用担心链接超时等问题. 1.准备工作,创建1个数据表"person", CREATE TABLE `person` ( `FirstName` varchar(100) NOT NULL, `LastName` varchar(100) DEFAULT NULL, `Age` varchar(100) DEFAULT NULL, PRIMARY KEY (`FirstN
-
详解使用rpm命令从CentOS系统盘安装计划任务程序crontab
概述 利用"任务计划",可以将任何脚本.程序或文档安排在某个最方便的时间运行.通俗的讲就是定时执行某个脚本.程序. 常见用途 定时关机 定时检查更新 定时对系统配置.数据库.日志进行备份 定时清理垃圾文件 检测是否已安装 估计是最小化安装的时候默认不会安装此程序,公司的环境有的已经安装了,有的却没有. # crontab -bash: crontab: command not found 执行 crontab 命令如果报 command not found,就表明没有安装. 准备文件
-
CentOS下使用yum命令安装计划任务程序crontab的方法
概述 利用"任务计划",可以将任何脚本.程序或文档安排在某个最方便的时间运行.通俗的讲就是定时执行某个脚本.程序. 常见用途 定时关机 定时检查更新 定时对系统配置.数据库.日志进行备份 定时清理垃圾文件 检测是否已安装 # crontab -bash: crontab: command not found 执行 crontab 命令如果报 command not found,就表明没有安装. 开始安装 # yum -y install vixie-cron Loaded plugi
-
centos7 用rpm安装mysql详解
最近做一个项目,需要用centos做数据服务器,用mysql数据库,就需要安装mysql数据库,之前没接触过centos,因此什么也不懂,就从网上也查了很多资料,都觉得不是最好的方法.最后结合mysql官方资料和网友的资料,最后用rpm方式安装,并总结给其他人以参考. 首先打开mysql管网,找到"yum repository"打开页面或者直接打开如下链接 http://dev.mysql.com/downloads/repo/yum/ ,找到自己需要的,点击download,下载rp
-
Centos中彻底删除Mysql(rpm、yum安装的情况)
我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cnf,/usr/lib/mysql,/usr/share/mysql,/var/lib/mysql也不会起任何作用,各种查找之后发现应该是根本没删除干净 复制代码 代码如下: [root@data lib
-
Centos 7下利用crontab定时执行任务详解
前言 cron服务是Linux的内置服务,但它不会开机自动启动.可以用以下命令启动和停止服务: /sbin/service crond start /sbin/service crond stop /sbin/service crond restart /sbin/service crond reload 以上1-4行分别为启动.停止.重启服务和重新加载配置. 要把cron设为在开机的时候自动启动,在 /etc/rc.d/rc.local 脚本中加入 /sbin/service crond st
-
Centos系统中用mock构建rpm的方法
前言 在centos下执行rpmbuild -ba package.spec的时候,通常会要求系统也安装对应的依赖包,这样就会导致系统装上许多没用的软件包,占用空间.于是搜索了一下,发现可以通过mock命令来解决这个问题. 构建方法 首先是安装mock,由于mock是在epel仓库里的,所以还需要先装epel仓库 yum -y install epel-release yum -y install mock 通常情况下使用rpmbuild会新开一个用户,比如builder,这样就不会污染系统环境
-
centos系统搭建本地yum服务器的方法
前言 首先特别说明的是,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(其实只要安装
-
Xen虚拟机在CentOS系统中的安装和使用方法
一.原理讲解 虚拟化的概念:将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,我们不再受限于物理上的界限,而是让CPU.内存.磁盘.I/O等硬件变成可以动态管理的"资源池",从而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具适应力--------这就是服务器的虚拟化. XEN是目前Linux上的最佳的虚拟化解决方案,特别适合于服务器应用,如用于将多个服务器合并到一台物理服务器上,以节省运营成本(机房空间.电力消耗):或者是出于安
-
CentOS系统临时禁止一个用户的方法
前言 在使用CentOS系统的过程中,如果不想删除用户,只是临时或短期内禁止某个用户登录系统,可以通过下面两种办法实现: 1.只把用户的记录从/etc/passwd文件中去掉,仅保留其主目录和其他文件不变: 2.在/etc/passwd文件(或/etc/shadow)中,关于该用户的passwd域的第一个字符前面加上一个"*"号即可. 注意:这只是禁止某个用户.如果要删除一个用户,需要删除的项包括: 1. /etc/passwd文件中的相关用户记录: 2. /etc/group文件中的
-
怎样给centos系统扩展磁盘分区的实现方法
问题/故障/场景/需求 eve-ng的虚拟机ova的硬盘只有38G,需要增加空间,在vmware直接扩展硬盘后,重启系统,使用fdisk -l可以看到硬盘扩大了,但文件系统并没有扩大,还需要将这些新增的空间扩展分配到某个文件系统才行.下面记录了整个扩展过程 解决方法/步骤 在VM里扩大磁盘到250G重启系统后,查看当前的文件系统的情况 root@eve-ng:~# df -h Filesystem Size Used Avail Use% Mounted on udev 7.9G 0 7.9G
-
CentOS系统中一键安装Openstack图文教程
前言 首先找到一个国外的网站, http://openstack.redhat.com/Main_Page,进入到quickstart页面中 简单翻译如下: 用到的工具是一个被成为RDO的东东, 能够在基于RHEL内核的linux系统,如RedHat,CentOS,Scientific Linux下,快速实现三步安装. 一:安装RDO软件 sudo yum install -y http://rdo.fedorapeople.org/rdo-release.rpm 二:安装一个叫packsta
-
CentOS系统中PHP和MySQL的升级方法
用yum更新PHP,只需用一条命令就可以搞定: 复制代码 代码如下: #yum update php 但问题来了,使用此命令后,系统告诉我,没有发现可更新的包.而当前的PHP版本只是5.2.1,PHP官方已经更新到5.2.6了. 经过一番询问,才知道原来CentOS系统的源里PHP仍旧是5.2.1,需要额外的源才能升级PHP. 根据外国网友的介绍,冰古添加了额外的源: 登录SSH后依次运行下列命令: 复制代码 代码如下: #rpm –import http://www.jasonlitka.co
-
VMware中centos系统连接wifi的图文方法
安装好centos之后,接着来设置它的网络,因为我在家笔记本是用的无线,所以虚拟机也只能连无线了,百度了很多教程,因为刚刚学linux,所以每一步都很艰难,所幸功夫不负有心人,经过一晚上设置,终于连上了WiFi.现将步骤以及自己遇到的问题分享出来. 设置VMware 注意 在选择你自己的无线网卡时,有可能有很多选择,你不知道选哪个. 这时候你打开自己的网络设置,就可以看到你现在用的无线网卡了 设置你的虚拟机网络适配器位桥接模式 给虚拟机设置静态IP 1.用ipconfig命令查看自己电脑ip 因
-
CentOS系统rpm安装Nginx和配置
目录 CentOS rpm安装Nginx和配置 介绍 rpm包安装 启动服务配置 CentOS rpm安装Nginx和配置 官方下载地址: http://nginx.org/en/download.html 介绍 Nginx("engine x")是一款由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. rpm包安装 #安装nginx,rpm安装 #rpm安装nginx包 rpm -Uvh --fo
-
CentOS环境下单独安装apachebench的方法
本文实例讲述了CentOS环境下单独安装apachebench的方法.分享给大家供大家参考,具体如下: 这两天在测试php性能优化方法. 为了做压力测试可观察效果,就选择了ApacheBench来作为压力测试工具.其实就是大家常说的ab. 但是这个工具是安装apache web server的时候自带的,现在我服务器上都是跑nginx.也不想为了用这个工具就再装个apache.所以在用下面方法单独安装ab工具,这里记录下步骤. 首先安装ab运行需要的软件包apr-util yum install
随机推荐
- asp实现过滤关键字的函数
- Erlang IO编程之文件目录操作常用方法小结
- 一行代码解决 perl输入 排序 输出问题
- mysql查找删除重复数据并只保留一条实例详解
- PHP通过加锁实现并发情况下抢码功能
- 利用Python实现Windows下的鼠标键盘模拟的实例代码
- Asp限制IP访问 阻止某一个IP段禁止访问本站的代码
- 网页WEB打印控件制作
- Alt+Ctrl+Del与Shift+Ctrl+Esc的区别剖析
- Ruby实现的最短编辑距离计算方法
- 在Python中操作字典之setdefault()方法的使用
- 通过百度地图获取公交线路的站点坐标的js代码
- iOS 四种回调方法总结
- 使用VS2010 C#开发ActiveX控件(上)
- JavaScript脚本语言是什么_动力节点Java学院整理
- Flask框架各种常见装饰器示例
- JS简单获取并修改input文本框内容的方法示例
- python中时间转换datetime和pd.to_datetime详析
- Docker 部署Django项目的方法示例
- .net core如何利用ConcurrentTest组件对方法进行压力测试详解