在linux系统中,要安装包含源码的src.rpm包,首先要安装一个软件rpm-build。
Rpm软件包下载网站:http://rpm.pbone.net
安装该软件后,在red hat 5环境下,生成/usr/src/redhat文件夹。
该文件夹下有如下文件夹:
BUILDROOT :存放临时编译文件。
BUILD :存放编译后的文件
SOURCE :存放源码包,如tar.gz tar.bz2
RPMS:存放转换成功后的rpm包
SRPMS:存放要转换的src.rpm包
SPECS:存放配置文件,该配置文件包含生成的rpm的信息,及编译过程定义。非常重要。里面的文件自动生成。
转换过程:
1,将要安装的soft.1.6.src.rpm包放入redhat/SRPMS下面。
2,进入SRPMS下,输入命令rpm -ivh soft.src.rpm,
3,在输入步骤2的命令后,在BUILD文件夹里面生成编译后的模块文件和头文件,在SPECS中生成配置文件soft.1.6.spec
4,进入在shell中输入命令rpmbuild -bb(build banary) soft.1.6.spec
5,执行完步骤四之后,在RPMS文件夹下生成soft.1.6.rpm包。最后成功得到rpm包。
将tar包转换成rpm包
在red hat 6下面转换。和red hat 5不同,安装工具rpm-build包后,会生成文件夹/root/rpmbuild 。
rpmbuild下面的文件夹和上面所述的一样。
转换步骤:
1,将soft.1.6.tar.gz放入/root/rpmbuild/SOURCE下面。
2,进入目录SPECS下面,用vim编辑生成一个文件为soft.1.6.spec的文件,注意,此文件名不能随便命名,必须和要转换的tar包的名字和版本一致。
3,进行完步骤二之后,配置文件中会生成一个模板,如果没有则失败。
4,如果有模板,则在version字段填入tar包的版本,必须一致!source0字段必须填上要转换的tar包的全名。
%install下面粘贴tar包编译链接后的所有安装路径,粘贴之后,将原来的安装路径/usr/local改为$RPM_BUILD_ROOT.用vi编辑器全部替换。再将所的单引号换成双引号。
5,由于%file选项还没有填上,这时输入命令rpmbuild -bb *.spec 会产生一个错误信息,将这个信息复制粘帖到%file选项即可。
6,再次运行步骤五的命令,就可得到rpm包了。