RPM软件包管理以及使用方法
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软件包管理以及使用方法的更多相关文章
- 逐步搭建Lamp环境之rpm软件包管理
Linux中的rpm软件包管理类似于windows下的"xxx软件管家"."xxx电脑管家",其作用主要用于查询软件的安装情况.安装软件.卸载软件. 以下针对这 ...
- CentOS软件管理之源代码以及RPM软件包管理
在Linux系统下,对于软件包的管理有多种机制,有源代码方式.RPM软件包管理方式以及YUM软件管理方式,本篇随笔将详细讲解CentOS下源代码形式安装软件以及RPM软件包管理机制 一.源代码形式 首 ...
- linux RPM软件包管理
linux RPM软件包管理 目录 1.软件包的介绍 2.rpm包管理 3.rpm包管理前端工具 1.软件包的介绍 在我们在对软件包管理前,先对软件包有个很好的了解,这样更方便我们来对其进行管理. 软 ...
- RPM软件包管理的查询功能 转
RPM软件包管理的查询功能: 命令格式 rpm {-q|--query} [select-options] [query-options] RPM的查询功能是极为强大,是极为重要的功能之一:举几个常用 ...
- Linux - rpm 软件包管理
rpm 是 Red-Hat Package Manager(rpm 软件包管理器)的缩写 rpm 的命名规则: 第一部分为 rpm 软件包的名称,第二部分是版本号,第三部分是版本发布次数,第四部分是软 ...
- linux常用命令---rpm软件包管理
rpm软件包管理
- day61:Linux:权限管理&rpm软件包管理&yum工具
目录 1.权限管理 2.rpm软件包管理 3.yum工具(联网) 权限管理 1.什么是权限? 权限主要用来约束用户能对系统所做的操作 2.为什么要使用权限? 因为系统中不可能只存在一个root用户,一 ...
- Fedora 22中的RPM软件包管理工具
Introduction The RPM Package Manager (RPM) is an open packaging system that runs on Fedora as well a ...
- linux的RPM软件包管理工具
RPM(Redhat Package Manage)原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采 ...
随机推荐
- socket关闭
首先应该了解win32 api closesocket,这里只说msdn文档中叙述不够清晰的地方. 首先说缺省情况:l_onoff为0,closesocket立刻返回,但底层依然在持续发包,并且试图优 ...
- Rails的静态资源管理(四)—— 生产环境的 Asset Pipeline
官方文档:http://guides.ruby-china.org/asset_pipeline.html http://guides.rubyonrails.org/asset_pipeline.h ...
- Python函数(四)-递归函数
递归函数就是函数在自己内部调用自己 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" def Digui(n): print(n ...
- Python代码规范总结
1.缩进问题: Tip:用4个空格来缩进代码 不要用Tab键或者是Tab和空格混用, vim用户可以将tab键设置为4个空格的长度.要么选择垂直对齐换行的元素, 或者是使用4空格悬挂式缩进(第一行没有 ...
- webscheduler 开源定时服务和延迟服务
源码地址:https://gitee.com/eabeat/webscheduler 架构上采用 asp.net + access ,实现简单的管理界面,可以维护调用API,查看日志等功能.内核采用Q ...
- python pdb 基础调试
当手边没有IDE,面对着python调试犯愁时,你就可以参考下本文:(pdb 命令调试) 参考:http://docs.python.org/library/pdb.html 和 (pdb)help ...
- CentOS 6.3 下编译Nginx(笔记整理)
1. 安装关联程序 [root@localhost opt]# yum search gcc [root@localhost opt]# yum install gcc-c++ [root@local ...
- latex学习
第一段代码 \documentclass{article} \usepackage{ctex} \begin{document} \section{文字} 特可爱模板 \section{数学} \[ ...
- Ros学习——创建ROS消息和ROS服务
1.rosed rosed 是 rosbash 的一部分.利用它可以直接通过package名来获取到待编辑的文件而无需指定该文件的存储路径了. rosed默认的编辑器是vim.修改其他的,打开~/.b ...
- koa的教程
https://github.com/bmcmahen/koa-mongo-sessionhttp://www.fkwebs.com/2333.htmlhttps://segmentfault.com ...