rpm详解

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的查询功能很强大。一般分为:查看已安装软件包的信息和查看未安装软件包的信息(但是要有该软件包)

²  查询已安装软件包的信息

2.1.1 查询系统已安装的软件;

命令格式:

rpm -q  softname

eg:

[root@localhost beinan]# rpm -q gaim
gaim-1.3.0-1.fc4

Note:

(1)-q就是 --query :表示查询

(2)查看系统中所有已经安装的包,要加 -a 参数

[root@localhost RPMS]# rpm –qa

(3)在所有已经安装的软件包中查找某个软件,比如说 gaim ;可以用如下命令。

[root@localhost RPMS]# rpm -qa |grepgaim

该命令等价于: rpm –q  gaim

(4)如果分页查看,再加一个管道 |和more命令;

[root@localhost RPMS]# rpm -qa |more

2.1.2 查询已安装的文件属于哪个软件包

命令格式:

rpm -qf  filename

note:必须给出文件的绝对路径

eg:

[root@localhost RPMS]#rpm -qf /usr/lib/libacl.la
libacl-devel-2.2.23-8

2.1.3 查询已安装软件包安装到何处

命令格式:

rpm –ql softname

eg:

[root@localhost RPMS]#rpm -ql lynx

2.1.4 查询已安装软件包的信息

命令格式:

rpm  -qi softname

2.1.5 查询已安装软件的配置文件

命令格式:

rpm  -qc softname

eg:

[root@localhost RPMS]#rpm -qc lynx

²  查询未安装的软件包的信息:

2.1.6查看一个软件包的用途、版本等信息

命令格式:

rpm –qpi  file.rpm

2.1.7查询一个软件包所包含的文件

命令格式:

rpm -qpl file.rpm

2.1.8查询润健包文档所在的位置

命令格式:

rpm –qpd  file.rpm

2.1.9 查看软件包的配置文件

命令格式:

rpm -qpc file.rpm

2.1.10 查看一个软件包的依赖关系

命令格式:

rpm -qpR file.rpm

具体参数的解释:

-a 查询所有已安装的软件包

· -f 将查询包含有文件. 的软件包

· -p 查询软件包文件名为的软件包 还可以指定查询软件包时所显示的信息。它们被称作信息选择选项:

·-i显示软件包信息,如描述,发行号,尺寸,构建日期,安装日期,平台,以及其它一些各类信息。

· -l 显示软件包中的文件列表。

· -s 显示软件包中所有文件的状态。

· -d 显示被标注为文档的文件列表(man 手册, info 手册,READMEs, etc)。

·-c显示被标注为配置文件的文件列表。这些是您要在安装完毕以后加以定制的文件(sendmail.cf, passwd, inittab, etc)。

2.2.安装

命令格式:

rpm -i  softnam.rpm

常用:

rpm –ivh softname.rpm安装软件包信息

选项的具体意义如下:

选项参数含义:

-i:install   的意思
-v :view   查看更细部的安装信息画面
-h :以安装信息列显示安装进度,例如上面的 # 字符号!

Note:

如果有依赖关系的要先解决依赖关系。

2.2.1 指定安装路径

命令格式:

rpm -ivh  --relocate  path softname.rpm

eg:

rpm -ivh --relocate/=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm

2.3.卸载

命令格式:

命令格式

rpm -e  sotfname

Note:

注意这里使用软件包的名字softname,而不是软件包文件的名字softname-1.0-1.i386.rpm。 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息.

2.4.升级

命令格式:

rpm –Uvh   softname.rpm

eg:

rpm –Uvh  foo-2.0-1.i386.rpm

RPM将自动卸载已安装的老板本的foo 软件包.

Note:如果要从新版本将到旧版本,可以使用--oldpackage 参数

eg:

[root@localhost RPMS]#rpm -qa gaim

gaim-1.5.0-1.fc4

[root@localhost RPMS]#rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm

Preparing...########################################### [100%]

1:gaim########################################### [100%]

[root@localhost RPMS]#rpm -qa gaim

gaim-1.3.0-1.fc4

三.其他常用命令

3.1.初始化rpm数据库

前面提到的使用rpm命令查询一个rpm包是否安装,是通过rpm数据库来完成的;因此,有时我们要用下面的命令初始化rpm数据库

命令格式:

rpm --initdb

rpm --rebuilddb(该命令时间较长)

note:

这两个命令极为有用,如果rpm系统出现了问题,不能安装或查询,此时就要初始化rpm数据库。

3.2.rpm支持网络安装

rpm支持通过http或者tftp通过网络安装rpm软件包

命令格式:

rpm -qpi  http://path/softname.rpm

rpm -ivh  http://path/softname.rpm

eg:

# rpm -qpi http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm

# rpm -ivhhttp://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm

四总结

rpm常用命令:

(1)rpm  -qa | grep   softname :  查询软件是否安装

(2)rpm  -ivh   softname.rpm  :  安装软件

(3)rpm  -e softname        : 卸载软件

 

 

你可能感兴趣的:(rpm详解)