rpm详解



摘要:本文介绍了rpm相关概念以及rpm的四种基本的操作方式,并对其常用命令进行总结


一、   rpm简介

1.1 rmp 简介

1.1.1 what (什么是rmp)

rpm的全称是Readhat Package Manager,是由红帽公司开发的。本意是Red Hat软件包管理。在Fedora、Redhat、Mandriva等主流发行版本。

1.1.2 how (为什么需要rpm)

在一个操作系统下,需要安装实现各种功能的软件包。这些软件包一般都有各自的程序,但是同时也有错综复杂的依赖关系。同时还需要解决软件包的版本,以及安装,配置,卸载的自动化问题。为了解决这些问题,RedHat针对自己的系统提出了一个较好的办法来管理成千上百的软件。这就是RPM管理系统。在系统中安装了rpm管理系统以后,只要是符合rpm文件标准的打包的程序都可以方便的安装,升级,卸载。

1.1.3 where  (应用场景:是不是所有的linux都使用rmp)

任何系统都需要包管理系统,因此很多linux都使用rpm系统。但rpm系统是为RH转门设计的。但是TL, Fedora等系统也都使用rpm。由于rpm的源程序可以在别的系统上进行编译,所以有可能在别的系统上也使用rpm。

1.1.4不同操作系统发行的rpm包可否混用?

对于已经编译成二进制的rpm包,由于操作系统环境不同,一般不能混用。对于以src.rpm发行的软件包,由于需要安装时进行本地编译,所以通常可以在不同系统下安装

1.2.rpm格式文件介绍

1.2.1 rpm包里面都包含什么?

rpm里面包含可执行的二进制程序,该程序和windows的软件包中的.exe文件类似是可执行的;rpm包中还包括程序运行时所需要的文件,这也和windows的软件包类似.

1.2.2  rmp格式文件有两种形式

二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。

两种文件的格式:

xxxxxx.rpm --à RPM的格式,已经经过编译且包装完成的。

xxxx.src.rpm-à SRPM的格式,包含未编译的原始码信息。

rpm 命名一般由以下几部分组成:

tiger-3.1-5.i386.rpm

(1)套件名称:即每个套件的名称。

(2)版本的信息:每一次更新版本就需要有一个版本的信息。

(3)释出次数:也就是编译的次数啦!那么为何需要重复的编译呢?这是由于同一版的套件中,可能由于有某些 bug 或者是安全上的顾虑,所以必须要重新设定当初打包时候的设定参数,设定完成之后重新编译并打包成 RPM 档案!因此就有不同的打包数出现了!(注:这个时候原始码其实还是 3.1 那个版本,只是下达编译时的参数不同而已! )

 (4)操作硬件平台:由于 RPM 可以适用在不同的操作平台上,但是由于不同的平台设定的参数还是有所差异性!,因此,要对不同CPU进行最佳化参数的设定,因此就有i386,i586,i686与noarch等的名称出现了。

Note:noarch:表示没有任何硬件等级上的限制。

二、   rmp常用方法

2.1.查询

命令格式:

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

RPM的查询功能很强大。一般分为:查看已安装软件包的信息和查看未安装软件包的信息(但是要有该软件包)