linux软件包的安装之----编译源码格式的rpm包(后缀名为.src.rpm的软件包)

编译源码格式的rpm-----à并制作为二进制格式的rpm

 

实例

#useradd  mockbuild (需要使用mockbuild用户来编译)

#rpm �Civh nginx……src.rpm(会在当前目录下生成rpmbuild目录)

#cd rpmbuild;ls(以下是子目录介绍)

SOURCES:存放的是程序源代码、补丁、脚本等。

SPECS:nginx.spec文件    指示如何解压,打补丁,如何./configure,make,makeinstall,如何封装为nginx…..rpm包。

#cd SPECS

#rpmbuild -ba(编译生成二进制格式的rpm包,并生成源码格式的rpm) nginx.spec

# rpmbuild -bb(只编译生成二进制格式的rpm) nginx.spec

 

报错----排错:报一堆错误,显示很多依赖的包未安装,用yum安装相关包,在执行上一条命令

yum没找到,找Fedora epelyum仓库)配一下,在用yum安装(mirrors.sohu.com下就有)。

 

epel都没有相关程序,rpmfind上搜一下,找出对应平台(i386/x86_64),对应OS(rhel5/rhel6)的相关软件包,下载下来手动安装。

 

再到CD2上去在答案:#yum  install   gd…rpm  Geo…rpm

 

在执行这条命令:

#cd rpmbuild/SPECS

#rpmbuild -ba(编译生成二进制格式的rpm包,并生成源码格式的rpm) nginx.spec

#cd ..

#ls RPMS/x86_64(这个目录下会生成二进制的rpm包,用rpm命令或者yum install即可安装)

#ls SRPMS(此目录下生成.src.rpm格式为后缀的源码rpm包,可以用于你在其他平台/操作系统上安装nginx程序)

#rpm -ivh  RPMS/x86_64/nginx….rpm

#apachectl stop

#service nginx  start

#netstat �Ctunp|grep 80

访问一下本机试试http://....../

 

****rpmbuild目录下可以放多个.src.rpm包生成的二进制包(RPMS目录),源码rpm包(SRPMS目录),程序源代码文件在SOURCES目录下!


 


你可能感兴趣的:(linux,安装,编译源码)