第 9讲 软件包管理
杨忠义
本讲内容
? RPM概述
? RPM的使用
? RPM的使用技巧
? Red Hat 软件包管理器
学习目标
? 掌握 rpm命令的使用方法
第 9讲 软件包管理
9.1 RPM概述
9.2 RPM的使用
9.3 RPM的使用技巧
9.4 Red Hat 软件包管理器
9.1 RPM概述
? RPM最早是由 Red Hat 公司提出的软件包管理标
准,后来随着版本的升级又融入了许多其他的优
秀特性,成为了 Linux中公认的软件包管理标准。
? RPM最初的全称是 Red Hat Package Manager。
现在是 RPM Package Manager的缩写 。
? RPM由 RPM社区 负责维护,可以登录到 RPM的官
方站点查询最新的信息。
9.1 RPM概述
? RPM的优点
? 易于安装、升级便利
? 丰富的软件包查询功能
? 软件包内容校验功能
? 支持多种硬件平台
9.1 RPM概述
? RPM的五大功能
? 安装 —— 将软件从包中解出来,并且安装到硬盘。
? 卸载 —— 将软件从硬盘清除。
? 升级 —— 替换软件的旧版本。
? 查询 —— 查询软件包的信息。
? 验证 —— 检验系统中的软件与包中软件的区别。
9.1 RPM概述
? RPM包的名称格式,name-
version.type.rpm
? 如,bind-9.2.1-16.i386.rpm
? name为软件的名称
? version为软件的版本号
? type为包的类型
? i[3456]86:表示在 Intel x86计算机平台上编译的
? sparc:表示在 sparc计算机平台上编译的
? alpha:表示在 alpha计算机平台上编译的
? src:表示软件源代码
? rpm为文件扩展名
9.1 RPM概述
? 从何处获得 RPM软件包
? 从发行套件的 CD中查找
? 从软件的主站点查找下载
? 从 http://www.rpmfind.net查找下载
? 从 http://atrpms.net/查找下载
9.2 RPM的使用
? 导入 RPM包的公钥
? 格式,# rpm --import <公钥文件名 >
? 举例:
# rpm --import /usr/share/rhn/RPM-
GPG-KEY
# rpm --import
http://dag.wieers.com/packages/RPM
-GPG-KEY.dag.txt
# rpm --import
http://ftp.freshrpms.net/pub/freshrp
ms/RPM-GPG-KEY
9.2 RPM的使用
? 安装软件包
? 格式,# rpm -ivh <包文件名 >
? 举例,# rpm -ivh cvs-1.11.2-
10.i386.rpm
? 升级软件包
? 格式,# rpm -Uvh <包文件名 >
? 举例,# rpm -Uvh cvs-1.12.2-
10.i386.rpm
? 卸载软件包
? 格式,# rpm -e <包名 >
? 举例,# rpm -e cvs
9.2 RPM的使用
? 查询软件包
查询系统中安装的所有 RPM软件包
$ rpm –qa
查询指定的软件包在系统中是否安装
$ rpm -q <包名 >
查询 RPM包文件中的信息,用于在未安装软件包之前
了解软件包中的信息
$ rpm -qp <RPM包文件名 >
查询系统中已安装指定的软件包的描述信息
$ rpm -qi <包名 >
9.2 RPM的使用
? 查询软件包举例
? 查询 cvs软件包在系统中是否安装
$ rpm –q cvs
? 查询系统中已安装的 cvs软件包的描述信息
$ rpm –qi cvs
? 查询系统中已安装的 cvs软件包里所包含的文件
$ rpm –ql cvs
? 查询系统中文件 /etc/passwd所属的软件包
$ rpm –qf /etc/passwd
? 查询 cvs-1.11.2-10.i386.rpm包文件中的信息
9.2 RPM的使用
? 校验软件包
校验整个系统的 rpm套件
# rpm –Va
校验单个 rpm包
# rpm -V <包名 >
验证指定的包文件
# rpm -Vp <包文件名 >
验证包含指定文件的软件包
# rpm -Vf <文件名 >
9.2 RPM的使用
? 校验软件包举例
验证 cvs软件包
# rpm –V cvs
验证 cvs-1.11.2-10.i386.rpm包文件
# rpm –Vp cvs-1.11.2-10.i386.rpm
验证所有已安装的软件包
# rpm –Va
验证包含文件 /etc/passwd的软件包
# rpm –Vf /etc/passwd
9.3 RPM的使用技巧
RPM不仅是安装 /卸载程序的工具,它还是
系统维护和诊断的利器。
9.3 RPM的使用技巧
? 如果您误删了一些文件,但您不能肯定到底
都删除了那些文件,怎么办? 您可以键入:
rpm -Va
rpm会在屏幕上显示出文件删除的情况。
若你发现一些文件丢失了或已被损坏,您就
可以重新安装或先卸载再安装该软件包。
9.3 RPM的使用技巧
? 如果您碰到了一个自己不认识的文件,要想查处
它属于哪个软件包,您可以输入以下命令
rpm -qf /usr/X11R6/bin/xjewel
输出的结果会是:
xjewel-1.6-1
9.3 RPM的使用技巧
? 如果发生综合以上两个例子的情况,如文
件 /usr/bin/paste出了问题。您想知道哪
个软件包中包含该文件,您这时可以简单
的键入:
rpm -Vf /usr/bin/paste
9.3 RPM的使用技巧
? 如果您想了解正在使用的程序的详细信息,您可以键入如
下命令来获得软件包中关于该程序的文档信息:
rpm -qdf /usr/bin/ispell
输出结果为,
/usr/man/man4/ispell.4
/usr/man/man4/english.4
……………………………………
/usr/info/ispell.info.gz
/usr/doc/ispell-3.1.18-1/README
9.3 RPM的使用技巧
? 您发现了一个新的 koules RPM,但您不知
道它是做什么的,您可以键入如下命令:
rpm -qip koules-1.2-2.i386.rpm
9.3 RPM的使用技巧
? 现在您想了解 koules的 RPM包在系统里安装了
哪些文件,您可以键入:
rpm -qlp koules-1.2-2.i386.rpm
输出结果为:
/usr/man/man6/koules.6
/usr/lib/games/kouleslib/start.raw
/usr/lib/games/kouleslib/end.raw
……………………………………
/usr/lib/games/kouleslib
/usr/games/koules
9.4 Red Hat 软件包管理器
? 在主菜
单中选
择, 系
统设
置,,
选择
,添加 /
删除应
用程序,
小 结
本讲介绍了 RPM相关概念和基本知识,
通过实例详细地介绍了 RPM的使用及技巧,
最后简单地介绍了 Red Hat 软件包管理器。