- 目录目录...1版权声明:...2文档信息:...2一、通过nginx源码包制作rpm包...2 1.制作前环境准备:...3 2.创建普通用户...3二、编写spec规则...3 1.在模板里添加规则...3 2.关于保存 * .spec报错的解决...4 2.1解决办法:...5 2.2使用rpmbuild命令生成rpm包...5三、在其他主机测试rpm包...5 1.需要按照依赖包...5 2.上传并安装nginxRPM包...5 3.查看端口开启状态...5 4.查看rpm包信息...6
- 文档信息:文档作者:amun文档版本:Version 1.1修改记录:2017 - 04 - 04系统环境:CentOS 6.8 64 bit
- 一、通过nginx源码包制作rpm包
- 1.制作前环境准备:
- 安装依赖包yum - y install rpm - build pcre - devel openssl - devel gccgcc - c++make
- 2.创建普通用户创建普通用户制作,使用普通用户制作rpm包(因为root权限太大);useraddlianlian passwdlianlian su–lianlian exit退出不了,就用su切换将nginx包上传root / home / mvnginx - 1.6.2.tar.gz / home / lianlian su–lianlian llnginx - 1.6.2.tar.gz
- 二、编写spec规则有默认模板的,后缀为.spec以下是模板的一部分内容,有的根本用不到。所以个别不用写,照着填就好
- 1.在模板里添加规则vim nginx.spec默认模板内容:Name定义该rpm包的名字,必须要填写。Version定义该rpm包的版本号,建议和源码包的名称保持一致。Release 1 % { ? dist
- }不需要管,系统会在版本号之后自动补齐,就是经常看到的rpm名中的el6部分Summary定义关于该rpm包的一些介绍。
- Group定义软件包所属类型。
- License软件授权类型,比如GPL、Commercial、Shareware。
- URL定义软件作者的主页。
- Source0: 定义需要用到的源码包名字BuildRoot: 不需要管,系统用mkstemp定义安装或编译时使用的虚拟目录作
- BuildRequires: 定义源码包配置时需要用到工具。该选项可有可无。
- Requires: 定义rpm安装的时候的依赖关系。该选项可有可无。
- % description定义描述信息,注意这里要另起一行写
- % prep定义rpm包安装前执行的脚本。在对软件进行打包前,我们还进行其他
- 操作。比如解压tar.gz文件。 % prep主要与 % setup–q命令配合使用,建议使用默认值即可。
- % setup–q不需要管
- % build定义源码包的安装配置选项
- % install不需要管,系统执行安装动作
- % files定义安装完之后生成的目录,可以参考源码包安装完毕之后生成的目录
- % config / usr / local / httpd / conf
- /* 代表配置文件
- %post 定义 rpm 包安装后执行的脚本。我们在安装完毕 rpm 包后,执行软件初
- 始化的动作,就可以通过%post 来达到目的。比如:apache在安装后,将 apachectl 拷贝成 httpd 等操作。默认 spec 模版文件不存在此选项。
- %preun 定义 rpm 包卸载前执行的脚本,该选项主要用于软件升级的时候会执行。
- 默认 spec 模版文件不存在此选项。
- %postun 定义 rpm 包卸载后执行的脚本。默认 spec 模版文件不存在此选项。
- %changelog 软件的变更日志。该选项可有可无。
- 2.关于保存*.spec报错的解决
- 上述规则编写完成后保存时会自动报一个错误,将会产生一个rpmduild的文件夹,但这是正常的。
- 2.1解决办法:
- 移动源码包和spec规则文件到rpmbuild文件夹下
- cpnginx-1.6.2.tar.gz ./rpmbuild/SOURCES/
- cp nginx.spec./rpmbuild/SPECS/
- 2.2使用rpmbuild命令生成 rpm包
- cd rpmbuild/SPECS/ 或在/home/下也可以
- rpmbuild -ba nginx.spec -ba 是输出过程信息
- 三、在其他主机测试rpm包
- 1. 需要按照依赖包
- yum -y installwireshark-gnome
- 2. 上传并安装nginx RPM包
- [[email protected]~]# rpm -ivh nginx-1.6.2-lianlian.e16.x86_64.rpm
- Preparing... ########################################### [100%]
- 1:nginx ########################################### [100%]
- 3. 查看端口开启状态
- [[email protected]~]# netstat -anpt |grep :80
- tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2130/nginx
- tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 1276/rpc.statd
- 4. 查看rpm包信息
- [[email protected]~]# rpm -qi nginx
- Name : nginx Relocations: (notrelocatable)
- Version : 1.6.2 Vendor: (none)
- Release : lianlian.e16 Build Date: 2017年04月04日 星期二 01时37分11秒
- InstallDate: 2017年03月21日星期二 11时44分28秒 Build Host: xr-c6.8
- Group : System nginx/web Source RPM: nginx-1.6.2-lianlian.e16.src.rpm
- Size : 610255 License: GPL
- Signature : (none)
- URL : http://www.nginx.org
- Summary : This is nginx server
- Description:
- Systemnginx/web by lianlian
- [[email protected]~]#
- End*/
来源: http://www.bubuko.com/infodetail-2166930.html