一.简介

可以将编译完成的服务打成rpm包放到私有仓库了,用于自定义的各种软件进行安装部署配置。

二.具体操作

1.安装软件,这个命令将构建rpm包

yum -y install rpm-build

2.开始初始化,如下命令必定报错,他会在当前生成一个文件夹

rpmbuild -ba nginx.spec

文件夹内容如下

ls rpmbuild

将源码tar包复制到SOURCES目录

cp nginx-1.8.0.tar.gz rpmbuild/SOURCES/

3.修改spec配置文件,根据这个文件内容进行打包,默认存在

vim rpmbuild/SPECS/nginx.spec

Name:nginx #name用来定义软件包的名称,后面可以使用%{name}的方式引用
Version:1.8.0 #version用来定义软件的实际版本号,后面可以使用%{version}
Release:1 #release用来定义发布序列号,后面可以使用%{release}使用
Summary:nginx-test #summary软件包的内容摘要 Group:web-nginx #group定义软件分组
License:GPL #license定义软件授权方式
URL:www.52wiki.cn #软件官网地址
Source0:nginx-1.8.0.tar.gz #source制定源代码包,后面可以用%{source1}引用 %define nginx_datadir /usr/local/nginx #下面定义了nginx的安装目录,后面使用%{nginx_datadir}引用 %description #%description用来定义描述软件的详细说明
test toooo %prep #%prep段后定义脚本预处理的一些操作,如解包打补丁等
%setup -q #%setup -q 将tar.gz包解压出来 %build #构建部分
#以下为编译nginx时使用的参数
export DESTDIR=%{buildroot}
./configure --prefix=%{nginx_datadir} --conf-path=%{nginx_datadir}/conf/nginx.conf --error-log-path=%{nginx_datadir}/logs/error.log --http-log-path=%{nginx_datadir}/logs/access.log
make %install #%install段开始把软件安装到虚拟的根目录中
make install DESTDIR=%{buildroot} INSTALLDIRS=vendor %clean #%clean清理临时文件
rm -rf %{buildroot} %files #%file段定义哪些文件和目录会放入rpm中
%defattr(-,root,root,-) #%defattr指定包装文件的属性
%{nginx_datadir} %changelog #%changelog 变更日志

4.开始打包

rpmbuild -ba rpmbuild/SPECS/nginx.spec

以下exit0 表示成功

打包后会在 rpmbuild/RPMS/x86_64/ 下生产rpm包

5.安装

yum -y localinstall rpmbuild/RPMS/x86_64/nginx-1.8.0-1.el7.centos.x86_64.rpm

因为打包时,没有将nginx脚本复制出来,所以要进到目录

用rpm -qi 可以看到打包的信息

rpm-build方式制作rpm包的更多相关文章

  1. Linux基于FPM制作RPM包(以Nginx为例)

    1.搭建Epel  Yum源  安装在线yum源 [root@localhost ~]# rpm -ivh epel-release-latest-.noarch.rpm //安装扩展源 [root@ ...

  2. 制作rpm安装包

    1.安装rpmbuild软件 sudo apt-get install rpmbuild2.配置工作路径 在制作 rpm 包之前,首先要配置工作路径,也就是制作 rpm 包所在的目录.制作 rpm 包 ...

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

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司服务器比较多,需要把apache源码包制作成rpm包,然后放到公司内网yum源上进行下载安装.apache的rpm包安装方式比源码安装方式比较快,这能 ...

  4. linux制作RPM包

    制作rpm包 1.制作流程1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制 ...

  5. 制作RPM包

    RPM包制作过程 1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制作的对象 ...

  6. CentOS系统制作RPM包

    打包编译好的命令,即可直接安装使用 #使用yum可解决依赖问题 [root@localhost ~]# yum -y localinstall *.rpm 一.使用fpm工具直接打包. Fpm安装 f ...

  7. 手动制作rpm包

    制作RPM包的过程,简单的说,就是为制作过程提供一个“工作车间”,即一个目录,里面需要包含以下几个子目录: BUILD        ————编译相关源码包时的工作目录: RPMS         — ...

  8. 一步步制作RPM包

    一步步制作RPM包 来源 http://blog.51cto.com/laoguang/1103628 一.RPM制作步骤 我们在企业中有的软件基本都是编译的,我们每次安装都得编译,那怎么办呢?那就根 ...

  9. 制作自己的rpm包,并为其制作patch包。

    本文分为两个部分,第一部分是制作一个简单的自己的rpm包,并安装运行它.第二部分是为其制作一个patch包,并通过spec配置文件去打补丁,安装.运行打补丁后的程序. 一.安装工具 [yh@local ...

随机推荐

  1. go微服务框架Kratos笔记(七)使用jwt认证中间件

    引言 Json web token (JWT) 是一个开放标准(RFC 7519),它定义了一种紧凑的.自包含的方式,特别适用于分布式站点的单点登录(SSO)场景.JWT的声明一般被用来在身份提供者和 ...

  2. 如何正确的找BUG

    什么是BUG 漏洞是在硬件.软件.协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统.具体举例来说,比如在Intel Pentium芯片中存在的逻辑错误,在S ...

  3. python中整除后结果也是小数

    有人这么回答,这显然不对 先看个例子: '//'明明是整除,为什么结果不是整数,而会出现小数? 首先,关于除法有三种概念:传统除法.精确除法和地板除 #1.传统除法:整数相除结果是整数,浮点数相除结果 ...

  4. [loj539]旅游路线

    考虑枚举加油的位置,当确定某次在第$i$个位置加油后,且下一次到$j$加油,那么$i$到$j$必然会选择不超过$c_{i}$条边且最长的路径,记作$d_{i,j}$ 如果能求出$d_{i,j}$,再设 ...

  5. [atARC105D]Let's Play Nim

    先对$n$分奇偶两种情况考虑-- $n$为奇数,显然先手希望最终产生的$x_{1}\oplus x_{2}\oplus...\oplus x_{n}=0$ 对于后手,考虑构造:将最大的未被选择的$a_ ...

  6. .NET Core基础篇之:配置文件读取

    配置文件是每个项目最基础的部分,也是不可或缺的部分,比如:数据库连接.中间件属性等常见的配置. 今天这篇文章主要内容就是,在.Net Core项目中怎样去读取配置文件并使用. 提前准备 appsett ...

  7. Docker之容器化学习之路v20.10.3

    Docker概述 **本人博客网站 **IT小神 www.itxiaoshen.com Docker文档官网 Docker是一个用于开发.发布和运行应用程序的开放平台.Docker使您能够将应用程序与 ...

  8. dart系列之:时间你慢点走,我要在dart中抓住你

    目录 简介 DateTime Duration 总结 简介 时间和日期是我们经常会在程序中使用到的对象.但是对时间和日期的处理因为有不同时区的原因,所以一直以来都不是很好用.就像在java中,为时间和 ...

  9. [Cnoi2020]线性生物

    期望入门题.但是我不会做. 考虑设\(E_{x\to{x+1}}\)为\(x\)到\(x+1\)点的期望步数. 则\(ans = \sum_{i = 0}^{n} E_{x\to{x+1}}\) 知\ ...

  10. 35-Remove Element

    Remove Element My Submissions QuestionEditorial Solution Total Accepted: 115367 Total Submissions: 3 ...