rpm包制作

安装

# apt-get install rpm

安装完成:
默认在用户目录下会自动生成如下目录

~/rpmbuild# ls
BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS
BUILD目录:tar.gz自动解压到此目录,并在此目录进行编译
SPECS目录:存放.spec文件。制作文件,下面会详细介绍
RPMS目录:保存制作好的rpm包
SOURCES目录:保存源代码。制作过程中用到的源码及配置文件
SRPMS目录:保存制作好的src.rpm包
BUILDROOT目录:保存编译安装好的文件,可以通过--prefix指定

spec文件举例

Name:           webserver    #软件名,和压缩文件名一致
Version:        1.0		#版本号
Release:       1%{?dist}		#次版本号
Summary:       webserver	#软件包简介

License:        GPL
URL:             www.baidu.com
Source0:        %{name}-%{version}.tar.gz  #变量名:%{SOURCE0}

Requires:       gcc

BuildRoot:      %_topdir/BUILDROOT

%description			#软件描述
webserver 1.0

%prep		#编译准备工作
%setup -q   #自动解压Source0中的tar.gz

%build		#一般执行./configure和make
%install		#一般执行make install
rm -rf %{buildroot}
mkdir %{buildroot}
cp -rp %_topdir/BUILD/%{name}-%{version}/*  $RPM_BUILD_ROOT	#保存到BUILDROOT,后面使用

%pre		#安装前
%post		#安装后
%preun		#卸载前
%postun		#卸载后
%clean
%files		#打包时的文件。会自动在BUILDROOT中查找,在rpm -i安装的时候,可以自动安装到相应目录
%defattr (-,root,root,0755)
/sbin/boa
/etc/mime.types
/etc/boa/boa.conf
/etc/init.d/webserver.sh
/usr/www/favicon.ico
/usr/www/cgi-bin/cgi-test.cgi
/usr/www/cgi-bin/cgictest.cgi

%changelog

执行过程

rpmbuild -bp:执行%prep
rpmbuild -bc:执行%build
rpmbuild -bi:执行%install
rpmbuild -ba:编译后做成rpm包和src.rpm包
rpmbuild -bs:仅制作src.rpm包
rpmbuild -bb:仅制作rpm包

一步到位

# rpmbuild -bb xxx.spec
posted @   thomas_blog  阅读(123)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示