RPM程序包管理

       RPM的全名“RedHat Package Manager”,当初这个是RedHad公司开发的一款程序包管理套件,随着RPM的不断完善,RPM逐渐成为众多linux发行版程序包管理器的代名词,那什么是RPM,为什么会用到RPM这个程序包管理工具那,接下来我一一揭晓。

       RPM是以一种数据库记录的方式将所需要的软件安装到linux主机的一套管理程序,最大的特点就是将需要的软件先编译并打包,通过包装好的套件中默认的数据库记录,来记录这个套件在安装的时候需要依赖的属性模块。知道是RPM是什么,那我们为什么需要它那,第一它帮我们解决的重新编译的麻烦,早期的linux安装软件是需要自己下载源代码,进行编译,这对于普通用户来说是一个非常耗时耗力的工作,第二由于他在安装的时候把众多的安装信息记录在了RPM的数据库里面,所以我们很方面的可以查询、升级、卸载我们的安装包,所以RPM将是我们系统管理工作当然必不可少的一个工具。

       linux发行版本众多,下面我们以CentOS6.7为例了解rpm程序包管理器,前面讲解了那么多RPM的内容,那么究竟rpm是什么那?其实可以理解为一个工具,也可以理解为有着众多选项的一个命令,能帮助我们实现程序包的安装、升级、卸载、查询和校验。首先介绍一下rpm命令的使用方法:

             安装:   

                     使用方法:rpm {-i|–install}[install-options]   PACKGE_FILE…

                     安装常用选项:

                                -i|–install:安装程序包的意思

                                -v:显示安装过程中的详细信息  

                                -h:以#来显示安装的过程

                                –test:测试安装,而不执行真正的安装过程

                                –replacepkgs:覆盖安装,重新安装并覆盖原有的文件

                                –force:强制安装

                                –nodeps:忽略依赖关系

               升级:

                       使用方法:rpm {-i|–install}[install-options]   PACKGE_FILE…

                       卸载常用选项:

                                 -u:升级或者安装程序

                                 -F:纯升级程序包

                                 –test:测试升级,而不执行真正的升级过程

                                 –force:强制安装

                                 –nodeps:忽略依赖关系

                                 –oldpackage:降级到旧版本

                卸载:

                         使用方法:rpm [-e|–erase]  PACKAGE_NAME

                          常用选项:

                                 –allmatches:全部卸载

                                 –nodeps:忽略依赖关系卸载

                                 –test:测试卸载,而不执行真正的卸载过程 

                 查询:

                         使用方法:rpm {-q|–query} [select-options] [query-options] PACKAGE_NAME

                         常用选项:

                                  -q:查询某程序包是否安装

                                  -qa:查询所有已经安装的程序包

                                  -qf:查询某文件是由那个程序包安装生成

                                  -qi:查询某程序包的简要信息

                                  -ql:查询某程序包安装后生成的文件列表

                                  -qc:查询某程序包安装包生成的文档

                  校验:

                          使用方法:rpm {-V|–verify} [select-options] [verify-options]

                          常用选项:

                                   -V:查询程序包安装之后生成的文件是否发生了改变

                                   –improt:验证其光盘中程序包的来源及完整性

注意:程序包的合法性验证主要包括验证程序包的来源合法以及程序包的内容合法两个方面,而程序包的来源是否合法,是验证该程序包是否有信任的制作者提供,检测的是原作者的数字签名,而程序包的内容是否合法,主要依赖于制作者提供的程序特征码,使用者通过使用同样的程序特征码提取算法提取程序包的特征码,并与原作者提供的相比较来验证是否合法。

       前面曾经提到RPM是通过以一种数据库记录的方式将所需要的软件安装的方式,所以我们还可以通过rpm管理器进行数据库重建,

        当rpm数据库不存在或者需要初始化时可以使用:rpm  –initdb

        重建rpm数据库即无论数据库存在与否,都会直接重建可以使用:rpm  –rebuilddb

      

        RPM文件本身是已经编译过的二进制文件,可以让用户免去重新编译的麻烦,而且在安装之前,RPM会检测系统的硬盘容量、操作系统的系统版本等,以避免安装错误,同时RPM本身也提供套件版本的信息、相关套件名称,套件用途说明等信息,用着众多的优点,但是我们也应该认识到RPM的不足,由于RPM文件本身已经是编译好的二进制文件,所以RPM包在安装时无法选定该软件的某些特性,同时RPM也只能通过手动来解决各软件包之间的依赖性关系,由于这些不足,也催生了SRPM和yum,SRPM的扩展名是以*.src.rpm格式命名,很明显他提供了源代码,而yum则是以RPM为基础包,提供一个rpm的前端工具,自行解决依赖关系的一个工具,这样就很好的解决了软件直接依赖性的问题,欲知后事如何,且听下回分解。

           

原创文章,作者:zhang,如若转载,请注明出处:http://www.178linux.com/9111

(0)
zhangzhang
上一篇 2015-10-31 22:23
下一篇 2015-11-04 09:58

相关推荐

  • 利用heartbeat v2版搭建高可用mysql

    一、实验环境  1)实验图        2)同步时间;确保可以使用主机名通信;确保可以使用ssh秘钥方式进行彼此登录;由于是两台设备,需要仲裁;  确保可以使用主机名通信 web1修改hosts文件如下: 172.16.2.12 SQL1.linux.com SQL1 172.…

    Linux干货 2015-07-08
  • linux基础学习之AWK

    内容: 1、awk输出(print、printf) 2、awk变量(内建变量和定义变量) 3、awk数组 4、awk重定向输出 5、awk操作符 6、awk常见模式类型 7、awk控制及循环语句 8、awk内置函数 awk:(其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母)…

    Linux干货 2016-09-22
  • 推荐-​以各种方式实现yum源,简单暴力,绝对实操干货!

    以各种方式实现yum源,简单暴力,绝对实操干货! 科普:yum不是程序包安装工具,而是rpm包前端管理工具,通过yum可以更好的管理rpm的安装卸载 以各种方式实现yum源,简单暴力,绝对实操干货! 一、本地yum源之“挂载光盘镜像实现”! 二、本地yum源之“挂载本地磁盘上的镜像文件”! 三、如能上网,实现自定义指定镜像网站yum源 四、炸天重磅来袭!!!…

    Linux干货 2016-04-11
  • linux网络命令与软件管理

    1、描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景和区别 网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,用来连接不同网段。 集线器称为“Hub”,主要功能是对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上。 二层交换机工作于OSI模型的第2层(数据链路层),可识别数据包中的MAC地址信息,…

    Linux干货 2016-12-18
  • 基于pxe部署系统

    一、前言 在生产环境中,我们经常遇到需要部署部署多台服务器。如果我们每部署一台服务器都要拿着系统盘到机房部署,守在服务器面前,那么我们的效率是十分低下的。况且有时候机房并不在我们身边。那么我们可以通过让机房值班人员为每台服务器配置好远程管理卡,运维人员通过远程管理卡,远程登入服务器进行操作。 二、pxe原理 pxe原理是通过服务器上网卡中支持的pxe启动,通…

    Linux干货 2015-09-14
  • grep &&正则表达式&&通配,元字,转义符

    grep 基于正则表达式的查询 1正则表达式: 正则表达式是通过使用特殊的字符所编写的模式,一些字符不表示字符的表面意思,具有控制和通配的功能. 使用正则表达式进行匹配具有两种方法:一是通过使用特殊的元字符进行字符匹配;二是使用次数匹配。 一, 正则表达式的特殊字符(元字符) :  #建议再温习一下之前所学的统通配符,对比一下,防止混淆。 (1)元…

    Linux干货 2016-08-05

评论列表(1条)

  • stanley
    stanley 2015-11-04 09:57

    且等下回分解,哈哈