实战经验:从源码制作RPM包
今天来讲一下如何制作RPM包用于分发自己开发的应用。具体流程分为以下几个部分:
1) 安装rpmbuild
# yum install rpm-build
2) 放置源码包到SOURCE
rpmbuild工具安装完成后,会在当前用户家目录下生成rpmbuild目录,此目录下有如下的几个子目录,分别用于放置不同类型的文件。
BUILD 编译之前,如解压包后存放的路径
BUILDROOT 编译后存放的路径
RPMS 打包完成后rpm包存放的路径
SOURCES 源包所放置的路径
SPECS spec文档放置的路径
SPRMS 源码rpm包放置的路径
我们redis为例,首先从官网下载redis源码包,然后将源码包放置到SOURCES目录下。请注意,这里是直接将压缩版本的tar.gz格式的源码包直接放到SOURCES目录下。
3) 编写SPEC文件
在SPECS目录下新建redis.spec,文件内容如下所示:
#############################START
Name: redis
Version: 3.2.8
Release: 0
Summary: Redis install package
Group: Applications/Server
License: Three clause BSD license
URL: https://redis.io/
Distribution: Linux
Packager: Tom (tom@qq.com)
%description
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker
%prep
rm -rfv $RPM_BUILD_DIR/redis-3.2.8
zcat $RPM_SOURCE_DIR/redis-3.2.8.tar.gz | tar -xvf –
%build
cd redis-3.2.8
make MALLOC=libc
%install
cd redis-3.2.8
make install
%preun
if [ -z “`ps aux | grep redis-server | grep -v grep`” ];then
killall redis-server >/dev/null
exit 0
fi
%files
%defattr(-,root,root,-)
%doc
%post
%changelog
#############################END
4) 生成RPM包
在SPECS目录下执行如下指令以生成二进制版本的rpm包。
# rpmbuild -bb redis.spec
5) 验证RPM包
如果上述步骤成功执行,则会在RPMS目录下生成redis-3.2.8-0.x86_64.rpm。
可以使用如下指令进行测试:
# rpm -ivh redis-3.2.8-0.x86_64.rpm
6) 完成。
- 下一篇: 实战经验:在Git中使用SSH密钥
- 上一篇: 小技巧:如何仅下载rpm包
相关推荐
- 为什么组合框的大小包括下拉列表的大小?
- Posted on 07月20日
- 有关调用约定的历史 – 第二部分
- Posted on 09月28日
- 实战经验:记录一次蓝屏崩溃诊断经历
- Posted on 11月05日
- 设备上下文(DC)画刷的妙用
- Posted on 09月07日
评论已关闭。