赞
踩
作者:李易桐,前平安科技高级运维工程师,5年互联网,游戏,电商,领域工作经验。对监控,虚拟化,自动化有一定研究,精通shell,python
在日常工作中,linux服务器中间件的安装一直是系统运维与应用运维最常遇到的工作。
一般的安装方式有三种,二进制tar包安装,源码编译安装以及rpm包安装。
其中源码编译安装及通过编译工具对源码进行二进制编译,编译安装优点可以自由选择模块,以实现中间件各种强大的功能,缺点则很明显,安装费时费力,需要消耗大量时间。
二进制tar包安装则是最方便快捷的方式。缺点则是在安装完成后,中间件启动出现问题,需要的各种依赖环境无法诊断。
Red-Hat Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用。
通过将编译好的中间件制作成rpm包则可以完成我们工作中的各种需求。
一、简介
在Centos下制作RPM包是使用rpm-build工具。生成rpm所用的文件列表或者源代码
根据文件列表或者源代码生成rpm规范,也就是spec文件
根据spec文件加工源码/文件的工具rpmbuild
把源码包放在正常的位置 (如果有补丁的话也一块放入)
确定依赖关系
编写spec文件,rpmbuild命令根据spec文件来制作合适的rpm包 (这一步是重点)
生成rpm包
二、rpmbuild命令的用法
三、spec文件编写
1.spec文档中常用的几个宏(变量) %{_sysconfdir}: /etc %{_sbindir}: /usr/sbin %{_bindir}: /usr/bin %{_datadir}: /usr/share %{_mandir}: /usr/share/man %{_libdir}: /usr/lib64 %{_prefix}: /usr %{_localstatedir}: /usr/var 其实以上参数值都是在/usr/lib/rpm/macros文件中定义的,最好不要修改该文件的值,只需要在家目录定义自己需要的值即可。spec的头部 #rpm包的一些信息
%description #rpm包的描述
%prep #预处理,解压源码,打补丁等操作
%build #执行源码包的编译,一般是./configure和make
%install #软件安装
%clean #编译安装后的清理
%files #定义要打包到rpm包的文件
%pre #安装或者升级软件前要做的事情,比如停止服务、备份相关文件等都在这里做。
%post #安装或者升级完成后要做的事情,比如执行ldconfig重构动态库缓存、启动服务等。
%preun #卸载软件前要做的事情,比如停止相关服务、关闭进程等。
%postun #卸载软件之后要做的事情,比如删除备份、配置文件等。
%changelog #软件的更新记录
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。