可以将编译完成的服务打成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 删除。