RPM的用法

RPM全名是RedHat Package Manager,简称为RPM,又称之为RPM软件包管理器,使RedHat套件管理程序之一,类似于Windows控制面板中的添加删除模块,Windows添加删除程序通过将安装信息记录在注册表,以便于程序的更新,卸载。而RPM同样有着类似的功能,用于linux下套件包的安装与管理。

一、RPM与SRPM简介及功能

1. RPM:RPM通过采用数据库记录的方式来将所需要的套件安装到Linux系统中。RPM包的格式为*.rpm,RPM包为已经经过编译且包装完成的rpm文件,这是其最大的特点。与我们通用的软件安装类似,在安装所需的套件之前,先根据套件中提供的安装参数检查该套件安装所需的环境,如果系统的环境与套件中所要求的环境相一致(软件包打包时的环境),则可以成功安装,否则会提示报错,或提示其安装依赖属性模块,需预先安装某某套件才可以再安装该套件。成功安装套件后,RPM套件管理器会将所安装的套件包记录到RPM数据库中,以便后续的查询、验证、升级、卸载等。

2. SRPM:与RPM最大的特点相对应,SRPM就是包含了Source code的RPM,即SRPM提供的内容为源码,当然也就没有经过编译。 同时SRPM也提供了参数配置文件(configure与makefile)。想必大家已经知道,它与RPM最大的差异是,在安装套件时需要通过RPM管理器将要安装的套件以RPM管理的方式进行编译,根据系统环境修改参数配置文件,然后将编译好的RPM安装到Linux系统中。由此可以看出SRPM在编译时修改了参数配置文件,无需与当时打包的环境一致,从而降低了对套件包所需的安装环境。

二、RPM,SRPM包的格式及其说明

1.RMP与SRPM的格式通常为:

*.rpm         如:compat-db-4.1.25-9.i386.rpm

*.src.rpm   如:compat-db-4.1.25-9.i386.src.rpm

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/soft/tools/

按以上简介可知,compat-db-4.1.25-9.i386.rpm为已经经过编译的文件,compat-db-4.1.25-9.i386.src.rpm则为没有经过编译的文件,通常套件在发行之前,同时提供rpm及srpm文件。

2. 关于文件中i386,i686的说明:

i386指这个软件包适用于intel 80386以上的所有x86平台的计算机。

i686指这个软件包适用于intel 80686以上,即Pentinum II以后Intel 系列的x86平台的计算机,K7以后等级的CPU。

noarch指这个软件包与硬件架构无关,可以通用。

3. 套件的文件名及版本:

如上述compat-db-4.1.25-9说明该套件的名称为compat-db,4.1.25-9为版本信息及发布次数。

三、RPM的查询功能

1. 格式:[root@localhost ~]# rpm -parameter package_name

rpm的查询路径: /var/lib/rpm目录下的数据库文件。

parameter说明:

-q  : 列出package_name是否已安装到系统中。

-qa:查询系统中安装的所有的包。

-ql :查询package_name中所有文件的安装路径。

-qi :列出package_name中的详细信息,包括开发商,版本,说明等。

-V  :若package_name被修改过,则将其列出。

2. 以下我们以在RHEL5.4下安装oracle 10g为例,通过查询所需的软件包来介绍rpm的查询功能。

Sample 1 :查询某套件是否已安装,如要查询binutils-2.15.92.0.2-13.EL4是否已安装,如下:

[root@localhost ~]# rpm  -q binutils

binutils-2.17.50.0.6-12.e15                --表明包binutils 已被成功安装,且列出的版本号高于所要查询的版本。

[root@localhost ~]# rpm  -q compat-db

package compat-db is not installed    --表明包compat-db没有被安装到系统中

Sample 2 :查询binutils-2.15.92.0.2-13.EL4的详细信息:

[root@localhost ~]# rpm  -qi binutils        --结果省略

Sapmle 3 :查询binutils-2.15.92.0.2-13.EL4的所有目录与文件:

[root@localhost ~]# rpm  -ql binutils       --结果省略

四、RPM的安装卸载功能

通过RPM查询功能我们可以得到某些软件包是否已安装到系统中以及列出其路径,详细信息等。对于那些没有安装到系统中,且由于相关程序的依赖性,需要将其安装的系统中,我们同样可以通过RPM来完成,格式同上所述,仅仅是给RPM不同的参数而已。当然也可以对其已安装的软件包进行升级或卸载。

1. 安装软件包。同RPM查询功能中介绍的格式一样,仅仅将parameter改为 ivh 即可。ivh通常组合在一起使用,也可以分开使用。i代表install的意思,v则表示显示更详细的安装信息,h表示显示安装进度。因此本人更倾向于同时使用上述三个参数。

Sample 1 :安装我们前一节所述的不存在的compat-db包

[root@localhost ~]# rpm  -ivh compat-db-4.1.25-9

可以到Google搜索该软件包,也可以到以下网址下载:http://linuxsoft.cern.ch/cern/slc4X/i386/yum/os/repodata/repoview/compat-db-0-4.1.25-9.html

当然也可以通过网址来安装该软件包,前提是你的Linux系统能正常连接到Internet。

如:[root@localhost ~]# rpm  -ivh http://linuxsoft.cern.ch/cern/slc4X/i386/yum/os/compat-db-4.1.25-9.i386.rpm

Sample 2: 同时安装多个软件包,只要在参数ivh后面跟多个软件包即可,请确保路径可以正确找到所需的软件包。

[root@localhost ~]# rpm  -ivh compat-db-4.1.25-9 compat-libstdc++-296-2.96-132.7.2

2. 更新与卸载软件包

此处包括更新软件包和卸载软件包,下面分开叙述。

更新软件包的情况,以下仅提供参数说明,命令格式规范同前所述:

参数:-Fvh,对于已安装的旧版软件包,系统自动更新,对于没有安装后的后续软件包系统则不会更新。

-Uvh,对于已安装的旧版软件包,系统自动更新,对于没有安装后的后续软件包系统直接安装。

卸载软件包的情况,以下仅提供参数说明,命令格式规范同前所述:

参数:-e 卸载package_name中指定的软件包。

注:关于SRPM的使用涉及到编译的过程,在此不作叙述。

时间: 2024-11-01 00:02:26

RPM的用法的相关文章

RPM命令用法详解

RPM 有五种基本的操作方式(不包括创建软件包): 安装, 卸载, 升级, 查询,和验证. 下面我们就来逐一的讲解吧. 一. 安装RPM包 RPM 软件包通常具有类似foo-1.0-1.i386.rpm 的文件名.其中包括 软件包的名称(foo),版本号(1.0),发行号(1), 和 硬件平台(i386).安 装一个软件包只需简单的键入以下命令: $ rpm -ivh foo-1.0-1.i386.rpm foo #################################### RPM安

Linux rpm 命令参数使用详解[介绍和应用](转)

RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序" rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组合:   -ivh:安装显示安装进度--install--verbose--hash-Uvh:升级软件包--Update:-qpl:列出RPM软件包内的文件信息[Qu

【转载:】 查看linux下安装了哪些软件(rpm)和 rpm 常用命令

[摘自:] http://home.phpchina.com/blog-170695-186519.html       1.查看是否安装了gcc    命令 #rpm -ql gcc         #rpm -qa |grep gcc    参数:q-询问          a-查询全部          l-显示列表 2.权限    安装和删除只有root和有安装权限的用户才可以进行.查询是每个用户都可以进行操作的.   **********************************

Linux rpm 命令参数使用详解_linux shell

rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组合:  -ivh:安装显示安装进度--install--verbose--hash -Uvh:升级软件包--Update: -qpl:列出RPM软件包内的文件信息[Query Package list]: -qpi:列出RPM软件包的描述信息[Query Package install packag

Linux rpm命令参数使用大全(经典)_linux shell

RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序" rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组合: -ivh:安装显示安装进度--install--verbose--hash -Uvh:升级软件包--Update: -qpl:列出RPM软件包内的文件信息[Q

rpm 神器第二篇-multipkg 高阶用法介绍与实战

前言 前一篇文章中介绍了 multipkg 的安装和基本用法,这两天又结合之前的例子,整理了一篇类似于"实战系列"的文档, 详细说明了 rpm 中的一些细节配置在multipkg中怎么写,以便读者能通过multipkg实现rpm/spec的高阶功能:另外, 晚上总结了最近和以前的几个思路,给multipkg加了一些功能,还未合并到作者的master分支,需要使用的同学可以直接从我 的仓库来获取: git clone https://github.com/duanjigang1983/m

Linux的yum命令用法简介

1.什么是 yum yum 是 yellowdog updater modified 的缩写.yellowdog 是一个 Linux 的 distribution,RH 将这种升级技术利用到自己的 distribution 形成了现在的 yum,感觉上 yum 和 apt 的原理类似,但是 apt 是编译代码,执行效率远高于使用 python 写成的 yum. yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个 distribution 的应用程序相互关系,根据计算出来的

linux下软件包的安装(rpm,yum)

使用rpm安装软件 为了方便linux 用户添加和删除软件,Red Hat 公司提出了软件包管理器RPM,由于它的出现使得在linux 中安装.卸载应用程序变得相对简单,默认情况下(即不出现文件依赖问题)用户只需双击rpm 软件包,系统会自动进行安装. 一个rpm包文件是能够让应用软件运行的全部文件的一个集合,它记录了二进制软件的内容.安装的位置.软件包的描述信息.软件包之间的依赖关系等信息.RPM 工具对系统中全部rpm 软件包进行全面管理,因此它能够记住用户添加了什么以及这些软件每个文件的具

linux rpm简介及应用

RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:在Fedora .Redhat.Mandriva.SuSE.YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用: RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和Windows的软件包中的.exe文件类似是可执行的:RPM包中还包括程序运行时所需要的文件,这也和Windows的软件包类似,Windows的程