发信人: albin (阿乐斌), 信区: LINUX 标 题: LINUX选修课讲义:RPM使用方法简介! 发信站: 碧海青天 (Fri Apr 23 22:33:37 1999), 转信 版权声明: 本文内容为大连理工大学LINUX选修课讲义,欢迎大家转载,但禁止使用本材料进行 任何商业性或赢利性活动。转载时请保留本版权声明。 作者:何斌武,hbwork@dlut.edu.cn,大连理工大学网络中心,April 1999. URL: ftp://ftp.dlut.edu.cn/pub/PEOPLE/albin/ ------------------------------------------------------------------------------ RPM之使用: 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 ftp://ftp.dlut.edu.cn/pub/Linux/redhat/redhat-5.2/i386/ rpm -Va 可确认系统少了那些文件 rpm -qf /usr/bin/cdplay 查询该程序属于那个软件包 rpm -qpi koules-1.2.i386.rpm 查询该软件包的内容 rpm -qpl koules-1.2.i386.rpm 查询该软件包会在系统中安装那些文件 -- ※ 来源:.碧海青天 bbs.dlut.edu.cn.[FROM: apple.dlut.edu.c]