一、什么是rmp包:

   RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,是Red Hat发行版本所使用的一个软件管理工具,类似与windows的添加和删除程序。

         windows中的安装包格式有.exe,.msi等等,而在linux中的安装包格式主要有2中:二进制包和源代码包。二进制包是可以直接进行安装的包,后缀名为.rpm,源代码包是需要进行编译,然后才能安装,后缀名为src.rpm。


    二、rpm包管理的使用

       rpm包管理主要的功能有:安装、升级、卸载、查询和校验、数据库维护,接下来将对这些功能进行一一的解析,

       rpm命令的格式为:rpm  [OPTIONS]  [PACKAGE_FILE]

        1、安装:-i

         rpm {-i|--install} [install-options] PACKAGE_FILE

          [install-options] :

   -v:verbose,显示安装过程

   -h:hash marks输出进度条;每个#表示2%的进度

   --test:测试安装,检查并报告依赖关系及冲突消息等;

   --nodeps:忽略依赖关系;不建议

   --replacepkgs:重新安装

   --nosignature:不检查包签名信息,不检查来源合法性;

   --nodigest:不检查包完整性信息;

   常用命令:rpm  -ivh  PACKAGE_FILE 

 

   2、升级:-U,-F

    rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

    rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

            -U:升级或安装;

    -F:升级

           [install-options]: 

            --oldpackage:降级

            --force:强制升级;  

           常用命令:rpm  -Uvh PACKAGE_FILE ...

   rpm  -Fvh PACKAGE_FILE ...


   3、卸载:-e

     rpm {-e|--erase} [erase-options] PACKAGE_FILE ...

    [erase-options]:

     --allmatches:卸载所有匹配指定名称的程序包的各版本; 

     --nodeps:忽略依赖关系

     --test:测试卸载,dry run模式


   4查询:-q

    rpm {-q|--query} [select-options] [query-options]

    [select-options]

     PACKAGE_NAME:查询指定的程序包是否已经安装,及其版本; 

     -a, --all:查询所有已经安装过的包;

     -f  FILE:查询指定的文件由哪个程序包安装生成

     -p, --package PACKAGE_FILE:用于实现对未安装的程序包执行查询操作;

     --whatprovides CAPABILITY:查询指定的CAPABILITY由哪个程序包提供;

     --whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖;

   

    [query-options]

      --changelog:查询rpm包的changlog;

      -l, --list:程序安装生成的所有文件列表;

      -i, --info:程序包相关的信息,版本号、大小、所属的包组,等;

      -c, --configfiles:查询指定的程序包提供的配置文件;

      -d, --docfiles:查询指定的程序包提供的文档;

      --provides:列出指定的程序包提供的所有的CAPABILITY;

      -R, --requires:查询指定的程序包的依赖关系;

      --scripts:查看程序包自带的脚本片断;

     常用方法:

       -qi PACKAGE:程序包相关的信息

       -qf FILE:查询指定的文件由哪个程序包安装生成

       -qc PACKAGE:查询指定的程序包提供的配置文件

       -ql PACKAGE:程序安装生成的所有文件列表

       -qd PACKAGE:查询指定的程序包提供的文档

       -qpi PACKAGE_FILE:查询没有安装的程序包的详细信息

       -qpl PACKAGE_FILE:查询没有安装的程序包将要生成的文件列表

       -qpc PACKAGE_FILE:查询没有安装的程序包将要生成的配置文件


   5、校验:-V

     rpm {-V|--verify} [select-options] [verify-options]

     功能主要验证程序包的合法性和完整性。


   6、数据库维护

    rpm {--initdb|--rebuilddb} [--dbpath DIRECTORY] [--root DIRECTORY]

    --initdb:初始化数据库,当前无任何数据库可实始化创建一个新的;当前有时不执行任何操作;

    --rebuilddb:重新构建,通过读取当前系统上所有已经安装过的程序包进行重新创建;


  总结:rpm包管理程序有一个小的弊端就是:它不能够完美的解决程序包安装时的依赖关系,所以在rpm的基础上产生了一个新的前端管理工具yum,我将在下一章讲解yum的使用方法。