rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。

yum基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

简单点说: rpm 只能安装已经下载到本地机器上的rpm 包. yum能在线下载并安装rpm包。

rpm [选项] [rpm软件包]

1、初始化rpm 数据库(可以省略)

rpm --initdb
rpm --rebuilddb % 注:这个要花好长时间
%注:有时rpm 系统出了问题,不能安装和查询,大多是这里出了问题。

2、RPM软件包管理的查询功能:

rpm -q [select-options] [query-options]

RPM的查询功能是极为强大,是极为重要的功能之一;这里举几个常用的例子,更为详细的具体的,请参考 man rpm

1、对系统中已安装软件的查询

)查询系统已安装的软件

语法:rpm -q 软件名

例:rpm -q gaim
% -q就是 --query,此选项表示询问系统是不是安装了gaim软件包;
% 如果已安装会有信息输出;如果没有安装,会输出gaim 没有安装的信息; %查看系统中所有已经安装的包,要加 -a 参数
rpm -qa % 如果分页查看,再加一个管道 |和more命令
rpm -qa |more % 如果要查找某个软件包,可以用 grep 抽取出来
rpm -qa |grep mplayer
)查询一个已经安装的文件属于哪个软件包; 语法: rpm -qf 文件名 注:文件名所在的绝对路径要指出 例:rpm -qf /usr/lib/libacl.la
)查询已安装软件包都安装到何处; 语法:rpm -ql 软件包名 例:rpm -ql mplayer
)查询一个已安装软件包的信息 语法: rpm -qi 软件包名 例:rpm -qi mplayer
)查看一下已安装软件的配置文件; 语法格式:rpm -qc 软件名 例:rpm -qc mplayer
)查看一个已经安装软件的文档安装位置: 语法格式: rpm -qd 软件名 例:rpm -qd mplayer
)查看一下已安装软件所依赖的软件包及文件; 语法格式: rpm -qR 软件名 例:rpm -qR mplayer 注:可以把几个参数组合起来用,如 rpm -qil mplayer

2、对于未安装的软件包的查看 :查看的前提是当前目录下已存在一个.rpm文件。

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

语法: rpm -qpi file.rpm

例:rpm -qpi mplayer-.0pre7try2-.i386.rpm
)查看一件软件包所包含的文件; 语法: rpm -qpl file.rpm 例:rpm -qpl mplayer-.0pre7try2-.i386.rpm
)查看软件包的文档所在的位置; 语法: rpm -qpd file.rpm 例:rpm -qpd mplayer-.0pre7try2-.i386.rpm
)查看一个软件包的配置文件; 语法: rpm -qpc file.rpm 例:rpm -qpc mplayer-.0pre7try2-.i386.rpm
)查看一个软件包的依赖关系 语法: rpm -qpR file.rpm 例:rpm -qpR mplayer-.0pre7try2-.i386.rpm

3、软件包的安装、升级、删除等; 安装和升级一个rpm 包

语法:
rpm -ivh file.rpm % 这个是用来安装一个新的rpm 包
rpm -Uvh file.rpm % 这是用来升级一个rpm 包 % 如果有依赖关系的,需解决依赖关系。
% 如果找不到依赖关系的包,可以用下面的命令强制安装: rpm -ivh --nodeps --force file.rpm
rpm -Uvh --nodeps --force file.rpm 例:
rpm -ivh --test mplayer-.0pre7try2-.i386.rpm
% --test表示测试,并不真正安装。 rpm -ivh --relocate /=/usr/local/mplayer mplayer-.0pre7try2-.i386.rpm
% 为软件包指定安装目录:要加 --relocate 参数
% 安装在指定目录中的程序如何调用呢?
% 通常可执行程序都放在安装目录下的bin或者sbin目录中。

4、删除一个rpm 包

首先查出需要删除的rpm包,然后用下面的命令来卸载:

rpm -e 软件包名 

例:rpm -e mplayer   % 卸载mplayer
% 如果有其它的rpm依赖于该rpm包,系统会出现警告。
% 如果一定要卸载,可以用选项 --nodeps 忽略依赖关系。但最好不要这么做。

转载:http://math.ecnu.edu.cn/~jypan/Teaching/Linux/command/rpm.htm

rpm的用法的更多相关文章

  1. RPM常见用法

    rpm常见的用法: 命令 说明 rpm -i <.rpm file name> 安装指定的 .rpm 文件 rpm -U <.rpm file name> 用指定的.rpm文件 ...

  2. 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库

    7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库 三种方法 rpm工具----->类型windows下的exe程序 ...

  3. Rpm另类用法加固Linux安全

    Rpm另类用法加固Linux安全   RPM是Red Hat Package Manager的缩写即Red Hat软件管理器.它是一个开放的包管理软件,由Red Hat公司所开发和维护,可以在Red ...

  4. Linux CentOS7 VMware 安装软件包的三种方法、rpm包介绍、rpm工具用法、yum工具用法、yum搭建本地仓库

    一.安装软件包的三种方法 Linux下游三种安装方法,rpm工具.yum工具.源码包.rpm按装一个程序包时,有可能因为该程序包依赖另一个程序包而无法安装:yum工具,可以连同依赖的程序包一起安装. ...

  5. Linux中rpm命令用法听语音

    rpm 是红帽(RedHat)软件包管理工具,实现类似于 Windows 中的添加/删除程序功能.下面,就来向大家介绍 rpm 命令的用法. 工具/原料 CentOS 一.rpm常用参数 1 rpm ...

  6. RPM命令用法

    安装一个包 rpm –ivh 升级一个包 rpm -Uvh 移走一个包 rpm -e 4.校验rpm包 rpm -V < rpm package name> 5.查询一个包是否被安装 rp ...

  7. RPM命令用法详解

    RPM 有五种基本的操作方式(不包括创建软件包): 安装, 卸载, 升级, 查询,和验证. 下面我们就来逐一的讲解吧. 一. 安装RPM包 RPM 软件包通常具有类似foo-1.0-1.i386.rp ...

  8. rpm命令用法小结

    rpm 是用来管理 Redhat系列的包管理工具: 通过将打包编译好的程序包文件放置在各自的位置上,就完成了安装: rpm   [OPTIONS]   PACHAGE_FILE 1 安装:: -i : ...

  9. Linux中rpm命令用法

    rpm -ivh 软件包名 安装软件包并显示安装进度.这个是用得最多的了. rpm -qa 查询已经安装哪些软件包. rpm -q 软件包名 查询指定软件包是否已经安装. rpm -Uvh  软件包名 ...

随机推荐

  1. 在centos 6.5 x64中安装 spark-1.5.1

    以下内容参考:http://blog.csdn.net/lovehuangjiaju/article/details/48494737 1.解压安装文件,设置环境变量 这里我们使用的安装文件是已经编译 ...

  2. 利用 Grunt (几乎)无痛地做前端开发 (一)之单元测试

    前言 如果你想开发一个js应用,甭管多简单,都要先创建整个宇宙 来看看我们的Javascript小宇宙: 确定如何根据需求.功能划分模块,如何将代码分成多个文件开发,合成一个发布 保证上一条的同时,使 ...

  3. A窗口消失B窗口弹出

    一.设计窗口 1) file---new--Application,新建一个窗体,设置该窗体的属性:Caption==登录窗口 2) procedure TForm1.btn1Click(Sender ...

  4. Spark算子总结及案例

    spark算子大致上可分三大类算子: 1.Value数据类型的Transformation算子,这种变换不触发提交作业,针对处理的数据项是Value型的数据. 2.Key-Value数据类型的Tran ...

  5. iostat中 %util高 应用延迟高

    经过长时间监控,发现iostat 中的%util居高不下,一直在98%上下,说明带宽占用率极高,遇到了瓶颈. 且读写速度很慢,经过排查,发现是HBA卡出现问题,更换后,用dd if命令测试,磁盘的读写 ...

  6. Kingbase在初始化时遇到的错误

    FATAL: could not create semaphores: No space left on deviceDETAIL: Failed  system call was semget(58 ...

  7. Flex移动皮肤开发(三)

    范例文件 mobile-skinning-part3 在关于创建Flex移动皮肤系列文章的第二部分里,我们讨论了屏幕密度(DPI)对组件皮肤以及移动应用布局所带来的影响. 我还展示了如何使用缩放应用, ...

  8. github使用介绍

    github是个比较火的分布式版本管理工具,适合多人协同工作,感觉比svn好.下面简单介绍一下github使用以及把本地代码和github同步的方法. 首先注册账号 https://github.co ...

  9. netty 对 protobuf 协议的解码与包装探究(2)

    netty 默认支持protobuf 的封装与解码,如果通信双方都使用netty则没有什么障碍,但如果客户端是其它语言(C#)则需要自己仿写与netty一致的方式(解码+封装),提前是必须很了解net ...

  10. C#进阶系列——使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)

    前言:上篇C#进阶系列——使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)介绍了下使用Advanced Installer配置IIS和Web.confi ...