需求
之前发布、实施软件或者产品的时候,更多的是以脚本+tar压缩包的形式,或者直接集成一个ELF程序来进行发布。
现在想简单的把可执行程序、依赖动态度和资源打到一个rpm包中,通过rpm -ivh方式进行安装。
过程
该打包过程只是记录了一下将二进制放入rpm中的过程和注意事项,不涉及预编译、编译和安装等繁琐的过程。
1、程序准备
虚拟机上得有rpmbuild程序,没有的话yum或者apt-get安装一下,例如yum -y install rpmbuild。
2、目录准备
需要一个打包目录,该目录需要在执行rpmbuild的用户的家目录有一个rpmbuild目录,目录里面应该包含BUILD、BUILDROOT、SPECS、RPMS和SRPMS等目录,可以使用rpmdev-setuptree等程序自动生成,也可以自己去建上,要是用的root用户,就在/root/rpmbuild目录下把这些目录建好即可。
3、编写spec文件
在SPECS目录中,创建并编写一个**.spec文件,名字无所谓,格式如下
Summary: test package.
Name: Test
Version: 1.0
Release: 200
License: GPL
Group: test
AutoReqProv: no
%description
test process rpm.
%prep
%build
%install
%files
/usr/bin/test
/usr/share/doc/test.txt
/etc/test.conf
/usr/lib/libtest.so
我现在有三个资源,一个test程序需要在安装之后放到/usr/bin目录,test.txt文档需要放到/usr/shar