可以将编译完成的服务打成rpm包放到私有仓库了,用于自定义的各种软件进行安装部署配置。
1.安装软件,这个命令将构建rpm包
yum -y install rpm-build
2.开始初始化,如下命令必定报错,他会在当前生成一个文件夹
rpmbuild -ba nginx.spec
文件夹内容如下
ls rpmbuild
将源码tar包复制到SOURCES目录
cp nginx-1.8.0.tar.gz rpmbuild/SOURCES/
3.修改spec配置文件,根据这个文件内容进行打包,默认存在
vim rpmbuild/SPECS/nginx.spec
Name:nginx #name用来定义软件包的名称,后面可以使用%{name}的方式引用
Version:1.8.0
#version用来定义软件的实际版本号,后面可以使用%{version}
Release:1
#release用来定义发布序列号,后面可以使用%{release}使用
Summary:nginx-test #summary软件包的内容摘要
Group:web-nginx #group定义软件分组
License:GPL #license定义软件授权方式
URL:www.52wiki.cn #软件官网地址
Source0:nginx-1.8.0.tar.gz #source制定源代码包,后面可以用%{source1}引用
%define nginx_datadir /usr/local/nginx #下面定义了nginx的安装目录,后面使用%{nginx_datadir}引用
%description #%description用来定义描述软件的详细说明
test toooo
%prep #%prep段后定义脚本预处理的一些操作,如解包打补丁等
%setup -q #%setup -q 将tar.gz包解压出来
%build #构建部分
#以下为编译nginx时使用的参数
export DESTDIR=%{buildroot}
./configure --prefix=%{nginx_datadir}
--conf-path=%{nginx_datadir}/conf/nginx.conf --error-log-path=%{nginx_datadir}/logs/error.log --http-log-path=%{nginx_datadir}/logs/access.log
make
%install #%install段开始把软件安装到虚拟的根目录中
make install DESTDIR=%{buildroot} INSTALLDIRS=vendor
%clean #%clean清理临时文件
rm -rf %{buildroot}
%files #%file段定义哪些文件和目录会放入rpm中
%defattr(-,root,root,-)
#%defattr指定包装文件的属性
%{nginx_datadir}
%changelog #%changelog 变更日志
4.开始打包
rpmbuild -ba rpmbuild/SPECS/nginx.spec
以下exit0 表示成功
打包后会在 rpmbuild/RPMS/x86_64/ 下生产rpm包
5.安装
yum -y localinstall rpmbuild/RPMS/x86_64/nginx-1.8.0-1.el7.centos.x86_64.rpm
因为打包时,没有将nginx脚本复制出来,所以要进到目录
用rpm -qi 可以看到打包的信息
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。