首页 > 代码库 > linux软件包的安装之----编译源码格式的rpm包(后缀名为.src.rpm的软件包)
linux软件包的安装之----编译源码格式的rpm包(后缀名为.src.rpm的软件包)
编译源码格式的rpm包-----à并制作为二进制格式的rpm包
实例
#useradd mockbuild (需要使用mockbuild用户来编译)
#rpm –ivh 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 epel(yum仓库)配一下,在用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 –tunp|grep 80
访问一下本机试试http://....../
****rpmbuild目录下可以放多个.src.rpm包生成的二进制包(RPMS目录),源码rpm包(SRPMS目录),程序源代码文件在SOURCES目录下!
本文出自 “就让我更饿一点” 博客,请务必保留此出处http://ufirst.blog.51cto.com/7628670/1432605