教你学会制作rpm安装包(4)

下面我们来拓展一下,比如:我们想为tengine增加控制脚本,可以通过start|stop控制,我们还想更换一下默认的首页index.html,默认的fastcgi_params是不能直接连接php的,所以我们替换为新的配置文件,我们也可以用设置好的nginx.conf替换原来的nginx.conf。基于上述步骤下面继续

1.把修改后的首页文件index.html,控制脚本init.nginx,fastCGI配置文件fastcgi_params,Nginx配置文件nginx.conf 放到SOURCES中 。 

[ibuler@ng1 rpmbuild]$ ls SOURCES/ 

fastcgi_params  index.html  init.nginx  nginx.conf  tengine-1.4.2.tar.gz 

2 编辑tengine.spec,修改

2.1 介绍区域的SOURCE0下增加如下

Source0:        %{name}-%{version}.tar.gz 

Source1:        index.html 

Source2:        init.nginx 

Source3:        fastcgi_params 

Source4:        nginx.conf 

2.2 安装区域增加如下

make install DESTDIR=%{buildroot} 

%{__install} -p -D %{SOURCE1} %{buildroot}/usr/html/index.html  #%{__install}这个宏代表install命令

%{__install} -p -D -m 0755 %{SOURCE2} %{buildroot}/etc/rc.d/init.d/nginx 

%{__install} -p -D %{SOURCE3} %{buildroot}/etc/nginx/fastcgi_params 

%{__install} -p -D %{SOURCE4} %{buildroot}/etc/nginx/nginx.conf 

2.3 脚本区域增加如下

%post 

if [ $1 == 1 ];then 

        /sbin/chkconfig --add nginx 

fi 

2.4 %file区域增加如下

%files 

%defattr (-,root,root,0755) 

/etc/ 

/usr/ 

/var/ 

%config(noreplace) /etc/nginx/nginx.conf  #%config表明这是个配置文件noplace表明不能替换

%config(noreplace) /etc/nginx/fastcgi_params 

%doc /usr/html/index.html  #%doc表明这个是文档

%attr(0755,root,root) /etc/rc.d/init.d/nginx #%attr后面的是权限,属主,属组

3. 生成rpm文件测试

rpmbuild -ba tengine.spec 

4. 安装测试 

到此RPM包制作完毕,你可以根据你的需求制作RPM包吧。

四.RPM包签名

1.生成GPG签名密钥,我用的是root用户

gpg --gen-key 

 

Your selection?1<Enter>  ##默认即可

What keysize do you want? (2048) 1024<Enter>  ##密钥长度

Key is valid for? (0) 1y<Enter>  ##有效期

Is this correct? (y/N) y<Enter>  ##确认

Real name: LaoGuang<Enter>  ##密钥名称

Email address: ibuler@qq.com<Enter>  ##邮件

Comment: GPG-RPM-KEY<Enter>  ##备注

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O<ENTER> 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14310.html