linux学习方法

src.rpm安装方法

.src.rpm在坟墓镜像中能找到,例如6.8 os 的rpm包的.src.rpm格式就存放在http://vault.centos.org/6.8/os/Source/
.src.rpm是源码包,是未经编译的源代码文件经过压缩,形成.src.rpm格式的文件。所以,这个源码包是不分什么64位,32位的。换句话说,给你一个源代码,你在64位系统上编译出来的可执行文件就是64位的,在32位系统上编译出来的就是32位的。
如何安装:
  1.rpm -ivh xxx.src.rpm 执行完毕,会在当前用户目录下生成文件夹”~/rpmbuild”,而这个文件夹包含两个子目录,一是SOURCES ,一是SPECS。其中SPECS存放的.specs文件,而 SOURCES目录存入的是所有文件和补丁以及一些相关的安装文件。
  2.我们cd到SPECS目录下,执行rpmbuild -bp *.spec,此命令将SOURCES目录中对应的压缩文件解压,同时将目录下的所有补丁打 上,最后将最终的源代码全部文件放在新建目录BUILD中,这时如果对源码进行修改,便可以在BUILD目录中操作了。
  当然我们也可以直接用rpmbuild -bp *.spec,此命令和上一个命令不同的是,上一个命令只是将源代码文件全部放入BUILD目录下,而这个目录不仅将源代码文件放入BUILD目录下,还自动进行编译,编译生成最终的rpm文件,放置于~/rpmbuild/RPMS目录下

有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时需要进行编译。这类软件包有多种安装方法,以redhat为例说明如下:
注意:
如果没有rpmbuild可以从系统安装光盘的Package中找到 rpm-build-version-packTimes.os.arch.rpm包安装
rpm -ivh rpm-build-version-packTimes.os.arch.rpm
方法一:
1. 执行rpm -i your-package.src.rpm
2. cd /usr/src/redhat/SPECS
3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件
4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录
5. ./configure 这一步和编译普通的源码软件一样,可以加上参数
6. make
7. make install
方法二:
1. 执行rpm -i you-package.src.rpm
2. cd /usr/src/redhat/SPECS (前两步和方法一相同)
3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件
这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等) 在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。执行:
rpm -i new-package.rpm即可安装完成。
rpm安装方式:rpm -ivh *.rmp
有时候在尝试了上面两种方法后发现未能生成/usr/src/redhat/SPECS中的对应文件,可以再尝试第三种方法。
方法三:
直接解包成源码:
1.把packName.src.rpm解包,会生成一个.tar.gz或者.tar.bz2的压缩包,那个就是源码
rpm2cpio packName.src.rpm | cpio -id

  1. 解压缩源码包
     tar -jxvf packName.tar.bz(2)
  2. cd packName
  3. ./configure 这一步和编译普通的源码软件一样,可以加上参数
    6. make
    7. make install