|
<FONT size=+0><!-- 固定文字颜色 -->1、什么是RPM
Redhat Package Manager, 由Redhat公司开发的软件包和管理程序。
RPM设计目的:
. 方便的升级功能:可对单个软件包进行升级,保留用户原先的配置
. 强大的查询功能:可以针对整个软件包的数据或是某个特定的文件进行查询,也可以
轻松地查出某个文件是属于那个软件包或从那来的。
. 系统校验:不小心删除了某个重要文件,但不知道是那个软件包需要此文件时可以使
用RPM查询已经安装的软件包中少了那些文件,是否需要重新安装,并且可以检验出
安装的软件包是否已经被别人修改过。
. 允许用户能够使用“纯净”的源代码:让用户取得“未经处理过的源代码”,同时
再加上一份“补丁”程序,用户可以完成程序的编译工作。
2. RPM的使用
(1)用RPM安装软件包,最简单的命令如下:
rpm -ivh rpmfile.i386.rpm
可能出现如下几种错误信息:
Package Alrealy Installed! [软件包安装,也可使用--replcepkgs强制替换]
Conflicting files [可加--replacepkgs, 该软件包含其他软件包安装过
的文件]
Unresolved Dependency [可加 --nodeps,但不推荐使用]
(2)用RPM删除安装软件包
rpm -e foo [可通过rpm -qa |egrep foo查看是否安装了此软件包]
错误信息:
... is needed by .... [可加--nodeps,但不推荐使用]
(3)用RPM升级软件
rpm -Uvh foo-2.0-1.i386.rpm
会自动删除相应软件包的老版本,如果配置文件同新版本不兼容,则会自动将其保存为
另一个oldconfig.rpmsave文件.
(4)查询软件包
rpm -q foo
具体可使用如下特定参数
rpm -qa 查询系统安装的所有软件包
rpm -qf filename 查询包含该文件的软件包
rpm -qF 输入为标准输入,如 find /usr/bin |rpm -qF
rpm -qp 软件包名 查询该软件包
rpm -qP 同-p参数,但输入为标准输入
find /cdrom/Redhat/RPMS |rpm -qP
输出时的格式选择
-i 显示该软件包的名称、描述、发行、大小、编译日期、安装日期及开发人员等信息
-l 显示该软件包含的文件
-s 显示该软件包的当前状态(normal/missing)
-d 显示软件包中的文档(man,info,README)
-c 显示该软件包的配置文件,一般这些文件安装后需要用户手工修改
-v Verbose, 类似ls -l的输出
(5)用RPM校验软件包
可校验文件大小、MD5校验码、文件权限、类型及属主等信息。
rpm -V foo 检查校验该软件包中的文件是否存在
rpm -Vf /bin/vi 校验软件包中的单个文件
rpm -Va 校验安装的所有软件包
rpm -Vp foo-1.0.1.i386.rpm
比较一个源软件包和已经安装的软件包
(6)实用技巧
rpm -i <a href="ftp://ftp.dlut.edu.cn/pub/Linux/redhat/redhat-5.2/i386/" target="_blank" ><FONT color=#000000>ftp://ftp.dlut.edu.cn/pub/Linux/redhat/redhat-5.2/i386/</FONT></A>
rpm -Va 可确认系统少了那些文件
rpm -qf /usr/bin/cdplay 查询该程序属于那个软件包
rpm -qpi koules-1.2.i386.rpm 查询该软件包的内容
rpm -qpl koules-1.2.i386.rpm 查询该软件包会在系统中安装那些文件</FONT> |
|