制作rpm包

生产环境配置一样,每次都需要重新编译软件包,太费时间了,制作成rpm包,搞好依赖,瞬间搞定

这里使用rpmbuild来制作rpm包

rpmbuild默认工作路径由%_topdir的宏变量来定义,这个变量在/usr/lib/rpm/macros里的定义。也可使用rpmbuild命令查

rpmbuild --showrc |grep _topdir 结果如下:

-14: _builddir %{_topdir}/BUILD
-14: _buildrootdir %{_topdir}/BUILDROOT
-14: _rpmdir %{_topdir}/RPMS
-14: _sourcedir %{_topdir}/SOURCES
-14: _specdir %{_topdir}/SPECS
-14: _srcrpmdir %{_topdir}/SRPMS
-14: _topdir %{getenv:HOME}/rpmbuild

如果想更改这个目录,在用户家目录下建立一个名为.rpmmacros的隐藏文件,然后在里面重新定义%_topdir,指向一个新的目录名,一般不推荐直接改/usr/lib/rpm/macros文件

制作rpm包的目录结构:

目录名     说明                    macros中的宏名

BUILD     编译rpm包的临时目录           %_builddir

RPMS       最终生成的rpm包的所在目录      %_rpmdir

SOURCES    所有源代码和补丁文件的存放目录   %_sourcedir

SPECS     存放SPEC文件的目录(重要)        %_specdir

SRPMS     源码格式rpm包存放路径          %_srcrpmdir

这些目录不需要手动创建,直接

yum install rpmdevtools -y

rpmdev-setuptree

用tree命令查看:

$ tree rpmbuild/
rpmbuild/
├── BUILD
├── RPMS
├── SOURCES
├── SPECS
└── SRPMS

就可以看到目录已经建好了

rpmbuild选项

时间: 2024-11-08 04:23:10

制作rpm包的相关文章

通过nginx源码包制作rpm包

目录 目录... 1 版权声明:... 2 文档信息:... 2 一.通过nginx源码包制作rpm包... 2 1.制作前环境准备:... 3 2.创建普通用户... 3 二.编写spec规则... 3 1.在模板里添加规则... 3 2.关于保存*.spec报错的解决... 4 2.1解决办法:... 5 2.2使用rpmbuild命令生成 rpm包... 5 三.在其他主机测试rpm包... 5 1. 需要按照依赖包... 5 2. 上传并安装nginxRPM包... 5 3. 查看端口开

使用源码文件简单制作RPM包

实验环境: 实验的系统:Centos7.2_x86.64 源码包文件1:fastdfs-master 源码包文件2:libfastcommon-master 去github作者的站点克隆上面两个源码包文件 git clone https://github.com/happyfish100/fastdfs.git git clone https://github.com/happyfish100/libfastcommon.git 查看源码文件版本并修改文件名 -libfastcommon-mas

手动制作rpm包

制作RPM包的过程,简单的说,就是为制作过程提供一个“工作车间”,即一个目录,里面需要包含以下几个子目录: BUILD        ————编译相关源码包时的工作目录: RPMS         ————生成的二进制格式的RPM包存放的位置: SOURCES ————程序的源码文件及其其他辅助文件的存放位置: SPCES        ————spec文件的存放位置: SRPMS      ————生成的SRC格式的RPM包存放位置: 如果用户目录主目录下没有类似目录结构,可以通过一个工具软件

速成制作rpm包

FPM 由于很多软件在安装时需要编译,这会浪费不少的时间,为了提升部署效率,于是就想到制作rpm包.通常rpm包的制作是使用rpmbuild命令来制作,但是你需要知道它的语法,比较繁琐.这就用到了FPM.FPM功能简单说就是将一种类型的包转换成另一种类型.FPM是Ruby模块,其实打包时也是调用rpmbuild命令. 支持的源类型包: dir 将目录打包成所需要的类型,可以用于源码编译安装的软件包 rpm 对rpm进行转换 gem 对rubygem包进行转换 python 将python模块打包

制作rpm包步骤

由于项目需要,需要自行制作rpm包.比较全面的可以参考如下链接: http://blog.chinaunix.net/uid-23069658-id-3944462.html 大致框架如下: 1,安装rpmdevtools sudo yum install rpmdevtools? 2,生成rpm制作过程中需要的几个目录,了解一下几个目录的含义,如源码位置,rpm包位置 rpmdev-setuptree? 3,主要的工作是spec文件的编写,如下命令生成spec文件的模板,可以百度一下各个参数的

烂泥:Linux源码包制作RPM包之Apache

本文首发于烂泥行天下 公司服务器比较多,需要把apache源码包制作成rpm包,然后放到公司内网yum源上进行下载安装.apache的rpm包安装方式比源码安装方式比较快,这能节约不少的时间. 有关内网yum源的搭建,可以参考<烂泥:yum的使用及配置>这篇文章. 一.安装rpm-build 查阅相关资料得知,要把源码包制作成rpm包需要使用rpm打包工具rpm-build. rpm-build通过rpmbuild命令根据本地源码包,通过spec文件中的规则就可以把源码包制作成rpm包. 现在

利用src.rpm包修改源码后重新制作rpm包

1. 下载 .src.rpm包.例:https://repos.fedorapeople.org/repos/openstack/EOL/openstack-grizzly/epel-6/openstack-quantum-2013.1.4-4.el6.src.rpm 2. 使用" rpm -ivh "解压源码包.例:rpm -ivh openstack-quantum-2013.1.4-4.el6.src.rpm  (--root=xxx 指定路径)解压的结果放在 /root/rpm

checkinstall - 从源码制作rpm包

checkinstall诞生的背景 对于一些程序只有源码包,没有提供标准的二进制包(rpm或deb等),以后要卸载的时候,你只能记下所有由程序生成或修改的文件,最好手工删除它.checkinstall会跟踪install命令所创建或修改的所有文件的路径,并建立一个 Slackware-,Debian- 或RPM- 安装包,然后你可以用centos的yum或ubuntu的apt-get来卸载它了. checkinstall安装 checkinstall rpm下载地址: ftp://ftp.pbo

fpm制作rpm包

一.前言 在企业中我们有事安装软件包.部分都是源码安装,如nginx安装路径都已经固化了,但实际业务中,我们都是把软件包安装到固定目录下,不满足需要,这是其一.其二,编译安装很耗时,比如mysql,特别是一些公司推行自动化,编译安装也不方便,容易出错.这是rpm包就很有用,废话少说,开始制作rpm包之旅吧. 二.rpm制作工具-fpm FPM功能简单说就是将一种类型的包转换成另一种类型.对!就是简单易懂,不废话. 三.fpm软件的参数介绍 1.支持的源类型包 dir 将目录打包成所需要的类型,可