Red Hat Package Manager(简称RPM)工具包由于其使用简单操作方便,可以实现软件的查询、安装、卸载、升级和验证等功能,为Linux使用者节省大量的时间,所以被广泛的用于Linux下安装、删除软件。RPM命令详细说明可以在Linux终端使用man命令显示出来。

1)查询RPM软件包

在新软件安装之前,一般都要先查看一下这个软件包里有什么内容。RPM软件包的查询使用带参数-q的rpm命令实现的,系统将会列出待查询软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。RPM软件包查询命令的格式如下:

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

(1)查询文件所属软件包

rpm -qf /usr/share/pixmaps/Xplns.png

xplns-3.3.1-lglibc23

(2)查询软件包所包含的文件列表

rpm -ql xplns-3.3.1-lglibc23

(3)查询软件包概要信息

rpm -qi xplns-elm-3.3.1-1

(4)查询所有已经安装的软件包

rpm -qa

2)RPM软件包的安装

软件包查询完成以后,用户就可以进行软件的实际安装了。使用带参数-i的rpm命令可以实现RPM软件包的安装,其命令格式如下:

rpm -i ( or --install) options file1.rpm ... fileN.rpm

(1)普通安装:使用最多的安装方式,采用一般的安装参数ivh,表示显示附加信息和安装进度的#符号的安装方式。

rpm -ivh xplns-elm-3.3.1-1.i386.rpm

(2)测试安装:测试安装其实并未实际安装

rpm -i --test xplns-elm-3.3.1-1.i386.rpm

(3)强制安装:强制安装软件,忽略软件包依赖性以及文件的冲突。如果对软件包的依赖性很清楚,而且确定要忽视文件的冲突,可以选择强制安装。不建议使用这个安装方式。

rpm -ivh --force xplns-elm-3.3.1-1.i386.rpm

3)RPM软件包安装可能出现的问题

(1)重复安装

如果用户的软件包已经被安装,将会出现以下的信息。

rpm -ivh xplns-elm-3.3.1-1.i386.rpm

foo package foo-1.0-1 is already installed

error: xplns-elm-3.3.1-1.i386.rpm cannot be installed

如果用户仍然要安装该软件包,可以在命令行上使用--replacepkgs选项,RPM将忽略该错误信息强行安装

(2)文件冲突

如果用户要安装的软件包中有一个文件已经在安装其他软件包时安装,会出现以下的错误信息。

rpm -ivh xplns-elm-3.3.1-1.i386.rpm

foo /usr/bin/foo conflicts with file from bar-1.0-1

error: xplns-elm-3.3.1-1.i386.rpm cannot be installed

要想让RPM忽略该错误信息,请使用--replacefiles命令行选项

(3)依赖关系

RPM软件包可能依赖于其他软件包,也就是说要求在只有安装特定的软件包之后才能正常安装该软件包。如果在用户安装某个软件包时存在这种未解决的依赖关系,会产生以下信息。

rpm -ivh bar-1.0-1.i386.rpm

failed dependencies:foo is needed by bar-1.0-1

用户必须先安装完所依赖的软件包,才能解决这个问题。如果用户想强制安装,请使用--nodeps命令行选项,不推荐Linux初学者使用。

4)RPM软件包的卸载

如果某个软件安装后不再需要,或者为了腾出空间,则可以卸载该软件。RPM同样也提供软件卸载的功能。卸载RPM软件包的命令的格式如下:

rpm -e rpm_name

需要注意的是,这里的rpm_name是软件包的名称,而不是软件包的文件名。如下所示:

rpm -e xplns-elm

另外,如果其他软件包依赖于用户要卸载的软件包,卸载时则会产生类似如下的错误信息:

removing these packages would break dependencies: foo is needed by bar-1.0-1

如果需要忽略这个错误,并继续卸载,可以使用--nodeps命令行选项进行强制卸载。通常并不提倡强制卸载,因为强制卸载后依赖于该软件包的程序可能无法正常运行。

5)RPM软件包的升级

升级软件包用于较新的版本软件包替代旧版本软件包,应使用带-U参数的RPM命令完成,其命令格式如下:

rpm -U options file1.rpm ... fileN.rpm

其中,-U参数表明需要更新软件,options是一些其他的参数选项,file.rpm到fileN.rpm指明需要升级的软件包名称。

例如需要更新系统中的xplns-elm软件,方法如下所示。

rpm -Uvh xplns-elm-3.3.1-1.i386.rpm

RPM将自动卸载已经安装的老版本的xplns-elm软件包,用户不会看到有关信息。事实上用户可以总是使用-U来安装软件包,因为即便以往未安装过该软件包,也能正常运行。

最后附上url:  http://www.rpm.org/

----------------------------------------------

Welcome to rpm.org

     enjoy

----------------------------------------------

RPM软件包管理以及使用方法的更多相关文章

  1. 逐步搭建Lamp环境之rpm软件包管理

    Linux中的rpm软件包管理类似于windows下的"xxx软件管家"."xxx电脑管家",其作用主要用于查询软件的安装情况.安装软件.卸载软件. 以下针对这 ...

  2. CentOS软件管理之源代码以及RPM软件包管理

    在Linux系统下,对于软件包的管理有多种机制,有源代码方式.RPM软件包管理方式以及YUM软件管理方式,本篇随笔将详细讲解CentOS下源代码形式安装软件以及RPM软件包管理机制 一.源代码形式 首 ...

  3. linux RPM软件包管理

    linux RPM软件包管理 目录 1.软件包的介绍 2.rpm包管理 3.rpm包管理前端工具 1.软件包的介绍 在我们在对软件包管理前,先对软件包有个很好的了解,这样更方便我们来对其进行管理. 软 ...

  4. RPM软件包管理的查询功能 转

    RPM软件包管理的查询功能: 命令格式 rpm {-q|--query} [select-options] [query-options] RPM的查询功能是极为强大,是极为重要的功能之一:举几个常用 ...

  5. Linux - rpm 软件包管理

    rpm 是 Red-Hat Package Manager(rpm 软件包管理器)的缩写 rpm 的命名规则: 第一部分为 rpm 软件包的名称,第二部分是版本号,第三部分是版本发布次数,第四部分是软 ...

  6. linux常用命令---rpm软件包管理

    rpm软件包管理

  7. day61:Linux:权限管理&rpm软件包管理&yum工具

    目录 1.权限管理 2.rpm软件包管理 3.yum工具(联网) 权限管理 1.什么是权限? 权限主要用来约束用户能对系统所做的操作 2.为什么要使用权限? 因为系统中不可能只存在一个root用户,一 ...

  8. Fedora 22中的RPM软件包管理工具

    Introduction The RPM Package Manager (RPM) is an open packaging system that runs on Fedora as well a ...

  9. linux的RPM软件包管理工具

    RPM(Redhat Package Manage)原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采 ...

随机推荐

  1. 蘑菇街 IM 项目 TeamTalk

    源码 https://github.com/mogujie/TeamTalk 试用 http://tt.mogu.io/

  2. Redis事务和watch

    redis的事务 严格意义来讲,redis的事务和我们理解的传统数据库(如mysql)的事务是不一样的. redis中的事务定义 Redis中的事务(transaction)是一组命令的集合. 事务同 ...

  3. CentOS 7.2 部署Rsync + Lsyncd服务实现文件实时同步/备份 (三)

    配置过程中遇到的错误与查看日志 以下错误是在服务正常开启的情况下发生的,请先查看服务是否正常启动. 一.错误 1. rsync: failed to set times on "." ...

  4. 最全SDWebImage-3.8版本源码阅读详解

    一.前言 SDWebImage,非常友好的网络图片加载第三方框架,在GitHub中已经获得了15000++的star,链接地址:https://github.com/rs/SDWebImage 本人分 ...

  5. Python之条件语句以及循环

    Python代码的缩进规则.具有相同缩进的代码被视为代码块 缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误. 注意: if ...

  6. re.spilt

  7. 使用ffmpeg压缩视频

    命令: ffmpeg -i 1.avi -b 64k 1-64k.avi ffmpeg下载:http://dl.pconline.com.cn/download/53703.html

  8. Angular07 利用angular打造管理系统页面

    1 创建一个新的angular应用 ng new adminSystem 2 利用WebStorm打开adminSystem应用 3 借助AdminLTE这个开源项目来辅助开发 AdminLTE项目: ...

  9. 获取当前设备的CPU个数

    public class Test { public static void main(String[] args) { //获取当前设备的CPU个数 int availableProcessors ...

  10. hdu4283 You Are the One

    传送门 题目 The TV shows such as You Are the One has been very popular. In order to meet the need of boys ...