记录一次学习制作二进制rpm包的过程

执行下面的几条命令,安装 创建rpm-build 及 制作目录

yum install rpm-buiild

yum install rpmdevtools

rpmdev-setuptree

 

在当前用户目录下生成了如下目录结构

 

 source 是 打包资源路径

SPECS 是 编译二进制文件路径

RPMS是编译生成的二进制包路径

SRPMS 是 生成源码包的路径

 

先把我想要打包RPM的文件或者应用 搞成一个 tar.gz 包 ,注意一下tar.gz的名字 需要跟最终生成的rpm包名字一致。放到Build目录下

 rpm包的命名应该是name-version-release.架构.npm

 

然后cd SPECS目录

创建一个 igixnpm.spec 文件

添加如下内容,做一个二进制安装

 

Summary: test setup programs
Name:test 
Version: 1.0.0
Release: 1
License: GPL
BuildRoot: %_topdir/BUILDROOT
Group: Applications/System

%description
this is a test  server


%prep #预安装操作

%build #编译操作

%install #安装步骤
mkdir -p $RPM_BUILD_ROOT/root/test/
cd $RPM_BUILD_DIR
tar xzvf ../BUILD/test -1.0.0-1.x86_64.tar.gz
cp -R ../BUILD/test -1.0.0-1.x86_64/* $RPM_BUILD_ROOT/root/test/
%files #说明安装过程产生的 文件夹和文件,为后续卸载做准备(目前我是这么理解的,后续学习发现不对再回来改吧)
/root/test/

%post #rpm 安装完后执行的操作
cp /root/test/startup-linux.sh /root/test/test.sh

%preun #卸载前操作

%postun #卸载后操作
rm -rf /root/test

 

 OK,现在我们去编译一个rpm包。在一开始创建的rpmbuild目录下,执行 rpmbuild -bb SPECS/igixnpm.spec

运行完成之后,在SRPMS目录下生成了一个rpm包

运行 rpm -ivh test -1.0.0-1.x86_64.rpm 在/root/test目录下生成了 对应的应用。

posted @ 2021-07-03 15:34  小清澈  阅读(815)  评论(0)    收藏  举报