RPM概述RPM是一个开放的软件包管理系统,最初的全称是Red Hat Package Manager。它工作于Red Hat Linux以及其它Linux系统,成为了Linux中公认的软件包管理标准。红帽子软件公司鼓励其他厂商来了解RPM并在自己的产品中使用它。 RPM的发布基于GPL协议。随着RPM在各种发行版本的广泛使用,如今RPM的全称是RPM Package Manager。RPM由RPM社区负责维护,其官方网站:http://www.rpm .org 为什么使用RPM使用RPM最大的好处在于它提供快速之安装,减少编译安装之侦错困扰。对于最终用户来说,RPM所提供的众多功能使维护系统要比以往容易的多。安装、卸载和升级RPM软件包均只需一条命令即可完成,所有烦琐的细节问题无须您费心。RPM维护一个所有已安装的软件包和文件的数据库,可以让您进行功能强大的软件包查询和验证工作。 在软件包升级过程中,RPM会对配置文件进行特别处理,因此您绝对不会丢失以往的定制信息——这对于直接使用.tar.gz文件是不可能的。对于程序员,RPM可以让您连同软件的源代码打包成源代码和二进制软件包供最终用户使用。这个过程十分简单,整个过程由一个主文件和可能的补丁程序组成。RPM在软件的新版本发布时,这种“原始”源代码,补丁程序和软件生成指令的清晰描述简化了软件包的维护工作。 RPM的功能简言之,RPM具有如下五大功能:
RPM包的名称格式RPM包的名称有其特有的格式,如某软件的RPM包名称由如下部分组成: name-version.type.rpm 其中:
例如: bind-9.2.1-16.i386.rpm:是bind(9.2.1-16)的Intel 386平台编译版本包 bind-9.2.1-16.sparc.rpm:是bind(9.2.1-16)的sparc平台编译版本包 bind-9.2.1-16.alpha.rpm:是bind(9.2.1-16)的alpha平台编译版本包 bind-9.2.1-16.src.rpm:是bind(9.2.1-16)的源代码版本包 因此,看到一个RPM包的文件名之后就可以获得该软件包的大致信息了。 rpm命令的使用rpm命令简介在CentOS中升级和安装系统通常使用yum 命令,因为它可以良好的解决包的依赖性问题,即自动安装/处理依赖的其他软件包。但是 rpm 命令还是在某些情况下用得上,比如,查询包信息,安装或卸载一个不在CentOS软件库中的.rpm包等。 常见的用法:
rpm命令使用举例安装软件包: 1、安装本地软件包 # rpm -ivh /media/cdrom/CentOS/elinks-0.11.1-5.1.el5.i386.rpm Preparing... # 1:elinks # 2、安装远程软件包 # rpm -ivh http://centos.candishosting.com.cn/5/os/i386/CentOS/elinks-0.11.1-5.1.el5.i386.rpm Preparing... # 1:elinks # 3、安装不在CentOS软件库中的软件包 下面以安装Fedora Extras 中的软件包为例。 # rpm --import http://download.fedora.redhat.com/pub/fedora/linux/extras/RPM-GPG-KEY-Fedora-Extras # wget http://download.fedora.redhat.com/pub/fedora/linux/extras/6/i386/darcs-1.0.9-3.fc6.i386.rpm # rpm -ivh darcs-1.0.9-3.fc6.i386.rpm Preparing... # 1:darcs # 升级软件包: 1、从本地文件升级软件包: # rpm -Uvh elinks-0.11.1-5.1.0.1.el5.i386.rpm Preparing... # 1:elinks # 2、从远程文件升级软件包: # rpm -Uvh http://centos.candishosting.com.cn/5/updates/i386/RPMS/elinks-0.11.1-5.1.0.1.el5.i386.rpm Preparing... # 1:elinks # 卸载软件包: # rpm -e elinks 查询软件包: # 查询 elinks 软件包在系统中是否安装 $ rpm –q elinks # 查询系统中已安装的 elinks 软件包的描述信息 $ rpm –qi elinks # 查询系统中已安装的 elinks 软件包里所包含的文件 $ rpm –ql elinks # 查询系统中文件 /etc/passwd 所属的软件包 $ rpm –qf /etc/passwd # 查询 elinks-0.11.1-5.1.0.1.el5.i386.rpm 包文件中的信息 $ rpm –qp elinks-0.11.1-5.1.0.1.el5.i386.rpm # 查询系统中已经安装的所有包含名字php的软件包 $ rpm –qa | grep php # 查询 httpd 包的最低依赖要求 $ rpm -qR httpd 验证软件包: // 验证 elinks 软件包 # rpm –V elinks // 验证包含文件 /etc/passwd 的软件包 # rpm –Vf /etc/passwd // 验证 elinks-0.11.1-5.1.0.1.el5.i386.rpm 包文件 # rpm –Vp elinks-0.11.1-5.1.0.1.el5.i386.rpm // 验证所有已安装的软件包 # rpm –Va 如果校验一切正常,将没有输出,反之则输出不一致结果,格式为: xxxxxxxx 文件名 字段1由八个字符组成,每个字符指明该文件与RPM数据库中一致或不一致的地方,单个点(.)说明没有异常,具体含义如下:
(责任编辑:IT) |