Linux 服务器 RPM软件包构建 打包

RPM包的构建

1、目录解释
├── BUILD		//编译rpm包的临时目录
├── BUILDROOT	//编译后生成的软件临时安装目录
├── RPMS		//RPM包输出目录
│   └── x86_64
│       ├── nginx-1.23.1-el7.x86_64.rpm
│       └── nginx-debuginfo-1.23.1-el7.x86_64.rpm
├── SOURCES		//打包使用的源码
│   └── nginx-1.23.1.tar.gz
├── SPECS		//spec文件目录
│   └── nginx.spec
└── SRPMS		//软件最终的rpm源码格式存放路径
    └── nginx-1.23.1-el7.src.rpm
2、spec文件说明

存放在rpmbuild下的SPEC下

##简介段
#摘要
Summary: 
#软件名称
Name: 
#版本号,不能用-,只能用 .
Version: x.x.x.x
#rpm的发行号
Release: 
#声明版权信息
License: GPL
#定义组,是系统存在的组
Group: 
#下载的路径,或者源码包官方的路径
URL:
#软件包的制作者
Packager: xxx <>
#制作者的提供商或者制作者
Vendor:
#源码路径
Source: 
#程序临时安装的目录(类似于一个虚拟跟目录)
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
#制作rpm的过程需要依赖的软件包
BuildRequires: gcc,
#安装过程需要的软件包
Requires: 
#描述信息
%description
##结束

##prep段,准备阶段,解压缩源码步骤前的操作
%prep
%setup -q
##结束

##build段,构建rpm包时做的操作
%build
./configure 
%{_make}
##结束

##安装阶段,install
%install
%{_rm} -rf %{_buildroot}
%{_make} install DESTDIR="%{buildroot}"
%find_lang %{name}
##结束

##脚本段
#安装前
%pre
#安装后
%post
#卸载前
%preun
#卸载完成后
%postun
##结束

##files段
%files

##结束
##清理段,clean
%clean
%{_rm} -rf %{buildroot}
##结束

##changelog,改变日志段(-开头为注释)
%changelog
* xxx
- 
-
##结束
rpm打包阶段

-bp #只执行spec的%pre段(解开源码包并打补丁,即只做准备)
-bc #执行spec的%pre和%build段(准备并编译)
-bi #执行spec中%pre,%build与%install(准备,编译并安装)
-bl #检查spec中的%file段(查看文件是否齐全)
-ba #建立源码与二进制包(常用)
-bb #只建立二进制包(常用)
-bs #只建立源码包

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值