zoukankan      html  css  js  c++  java
  • Linux应用和系统库的2种安装方式---源码安装tarball和二进制rpm包

    一、应用程序和系统库从哪里来?

        两种机制,源码安装和二进制安装。

    二、源码安装 tarball

            1、核心思想是:利用开源代码,自己编译生成应用程序或者库,要求系统上必须已安装TMG(tar, make, gcc)。

            2、tarball包的安装顺序是,先解压缩(tar)、再配置(config)、再编译(make)、再安装(make install)

                 tar -xvf xxx.tar.gz

                 到对应目录下 ./config xxxx

                 到对应目录下 make 

                 到对应目录下 make install

                

            3、应用程序安装后,为了方便升级和卸载,有一些约定俗成的规定,需要注意。

                 第一、在/usr/loca/src下解压缩,目的是方便管理(具体来讲是:bin文件默认查找位置是 /usr/local/,man帮助默认查找位置是/usr/local)。

                 第二、安装时,最好安装到 /usr/local ,考虑到卸载方便,最好每个套件在 /usr/local/下单独建立自己的文件夹。

                 

    三、二进制安装rpm包

           1、核心思想是:软件厂商已经把应用程序做好,并且已经打包成二进制的rpm包,使用者只需要安装即可。

            2、rpm包分为已安装和未安装两大类,在使用命令行上就只有一个差异,即是否加p. 加p的话,就表示查询未安装的rpm包信息。  

            3、查看已安装的rpm包

                  查询已安装的rpm包:rpm -qa | grep aa

                   举例: 

                  查询rpm包的依赖关系:rpm -qR xx   

                     举例:

                  查询rpm包内的文件列表 :rpm -ql xx 

                    举例:

                  查询某个文件所属的rpm包,用rpm -qf xxx

                  举例:

                  

                 查询rpm包的配置信息,用 rpm -qc xxx

                 举例:

                 

            4、查看未安装的rpm包信息

                  查询rpm包的内容: rpm -qpl xxx.rpm

                  举例:

                  

                  查询rpm包的依赖关系: rpm -qpR xxx.rpm

                    举例:

              5、rpm包的增、删、改、查动作。

                   安装rpm包:rpm -i

                   删除rpm包: rpm -e

                  更新rpm包: rpm -U

                  查询rpm包: rpm -q

                 举例:

                 

                

       6、安装rpm 使用rpm -i命令即可, 那么yum命令是做什么用?

                解答:rpm -i 命令只会安装指定的rpm包,一旦该rpm包的依赖关系不满足,则不会安装此rpm包。 

                而yum命令则可以自动分析rpm包的依赖关系,把依赖包也都安装上,省去了手工逐个安装依赖包的麻烦。

    四、SRPM是什么意思?跟RPM之间是什么关系?

           1、要生成rpm包,必须有spec文件,此文件用来指定rpm包的各种信息,例如,rpm包的包名、依赖关系、rpm包内包含哪些文件等。

                以 openvswitch 为例:

                

                

         

                 

                 Summary: 简介。

                Name:rpm包的名称。

                Version:版本信息

               Release: 该版本打包的次数说明。

               Requires: 依赖关系说明。

               下面是以百分号开头的内容。

               %description : 描述信息。

               %prep: 准备信息。在尚未进行设置或者安装之前,要编译完成的rpm帮您先做的事情。

               %setup: 就是在建立tarball中说明的makefile文件,就是执行./config之类的配置文件。如果要自己新增参数,则可以在这里加入配置值。

              %build: 指怎样make 编译成为可执行的程序。

               %install: 构建完成后,需要安装,类似于make install

               %files: 该rpm包安装的文件都要写在这里,包括目录。

           2、把上述文件准备好之后,可以使用 rpmbuild -bb xxx.spec 的方式进行编译成rpm文件。

    五、总结:

    1、 rpm包和tarball的选择?

           (一)优选rpm包,因为比较方便,但是,如果一个套件的rpm包太老,要升级到最新的rpm,依赖关系比较复杂,则此时优选tarball安装的方式。

           (二)如果想在一台机器上安装多个版本的套件(测试机一般有这个需求),则只能选择tarball的方式,因为rpm包无论是安装哪个版本,都是默认安装到相同的路径下,此时就无法实现指定路径的方式,只有tarball的方式。

    2、SRPM为源码rpm,内含的文件为源码而非二进制文件,所以安装SRPM时还需要经过编译。

  • 相关阅读:
    [这不是Windows Phone 7]FitnessTrackerPlus(健身)三.登录及MD5加密
    [Windows Phone 7璀璨]北漂1.0在线歌词播放器三.歌词下载
    [Windows Phone 7璀璨]北漂1.0在线歌词播放器四.独立储存空间歌词的读取(完结)
    [原创]Xcode 4.6 安装 Boost 1.53.0
    [学习笔记]Silverlight4 RIA 开发全程解析[项目全程记录]第零章项目简介
    [笔记]Cocoa训练营cocos2d游戏编程篇动画
    [学习笔记]Silverlight4 RIA 开发全程解析[项目全程记录]第一章FitnessTrackerPlus应用程序概述
    [笔记]Cocoa训练营内存管理篇
    Android_相关路径
    Dynamics AX2009 Report step by step
  • 原文地址:https://www.cnblogs.com/zhouhaibing/p/7781521.html
Copyright © 2011-2022 走看看