RPM的详细演示安装、删除和查询 (2) |
| 来源:不详 (2006-06-07 13:57:42) |
|
|
查询
query命令的语法为:
rpm -q[information-options] [package-options] rpm --query[information-options] [package-options]
查询选项有两个子集:包选择选项决定查询什么包,信息选择选项决定提供什么信息。 --------------------------------------------------------------------------------
以下简单示演示一下包查询:
简单查询:
最简单的形式是rpm -q packagename查询。可以用这个命令寻找以安装包的版本。
示例:
[root@localhost ~]# rpm -q lynx lynx-2.8.5-18 --------------------------------------------------------------------------------
信息查询:
rpm -qi packagename命令可以得到安装包的汇总信息。
示例: [root@localhost ~]# rpm -qi lynx Name : lynx Relocations: (not relocatable) Version : 2.8.5 Vendor: Red Hat, Inc. Release : 18 Build Date: 2004年07月08日 星期四 18时52分16秒 Install Date: 2006年05月30日 星期二 13时27分21秒 Build Host: tweety.build.redhat.com Group : 应用程序/互联网 Source RPM: lynx-2.8.5-18.src.rpm Size : 4837340 License: GPL Signature : DSA/SHA1, 2004年10月21日 星期四 01时14分03秒, Key ID b44269d04f2a6fd2 Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> URL : http://lynx.isc.org/ Summary : 一个基于文本的网页浏览器。 Description : Lynx 是一个基于文本的 万维网 浏览器。Lynx不显示任何 图像,但是它支持框架、表格、以及多数其它 HTML 标签。Lynx 优于图形化浏览器的地方是它的速度―― Links 能够快速启动、退出、及显示网页。 标识拥有者 --------------------------------------------------------------------------------
找出什么包拥有文件file:
示例:
[root@localhost ~]# rpm -qf /etc/lynx-site.cfg lynx-2.8.5-18 --------------------------------------------------------------------------------
列表包中的文件:
如果对一个包不够了解,则可以用rpm -ql packagename命令列出包中的文件。这个表中确认某个配置文件或命令是否在这个包中。如果要升级,这个信息有助于了解升级有什么风险。
示例:
此为部分显示结果 [root@localhost ~]# rpm -ql lynx /etc/lynx-site.cfg /etc/lynx.cfg /etc/lynx.cfg.cs /etc/lynx.cfg.ja /etc/lynx.cfg.sk /usr/bin/lynx /usr/share/doc/lynx-2.8.5 /usr/share/doc/lynx-2.8.5/INSTALLATION /usr/share/doc/lynx-2.8.5/README /usr/share/doc/lynx-2.8.5/docs /usr/share/doc/lynx-2.8.5/docs/CHANGES2.3 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.4 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.5 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.6 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.7 /usr/share/doc/lynx-2.8.5/docs/CHANGES2.8 /usr/share/doc/lynx-2.8.5/docs/CMU.announce /usr/share/doc/lynx-2.8.5/docs/CRAWL.announce /usr/share/doc/lynx-2.8.5/docs/FM.announce /usr/share/doc/lynx-2.8.5/docs/IBMPC-charsets.announce /usr/share/doc/lynx-2.8.5/docs/OS-390.announce /usr/share/doc/lynx-2.8.5/docs/README.TRST /usr/share/doc/lynx-2.8.5/docs/README.chartrans
--------------------------------------------------------------------------------
列出包所提供的实际能力:
--provides选项的作用是列出这个包所提供的实际能力。
示例:
[root@localhost ~]# rpm -q --provides lynx config(lynx) = 2.8.5-18 webclient lynx = 2.8.5-18 --------------------------------------------------------------------------------
列出这个包所倚赖的任何包:
-R,--requires选项的作用是列出这个包所依赖的任何包。
示例:
[root@localhost ~]# rpm -qR lynx /bin/sh config(lynx) = 2.8.5-18 indexhtml libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.3) libcrypto.so.4 libncursesw.so.5 libssl.so.4 libz.so.1 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 --------------------------------------------------------------------------------
列出包中的配置文件
-c,--configfiles选项的作用是列出包中的配置文件
示例:
[root@localhost ~]# rpm -qc lynx /etc/lynx-site.cfg /etc/lynx.cfg /etc/lynx.cfg.cs /etc/lynx.cfg.ja /etc/lynx.cfg.sk --------------------------------------------------------------------------------
显示有关于包的改变信息的日志:
--changllog选项的作用是显示有关于包的改变信息的日志。
示例:
此为部分显示结果 [root@localhost ~]# rpm -q --changelog lynx * 五 7月 09 2004 Tim Waugh <twaugh@redhat.com> 2.8.5-18 - Removed perl dependencies (bug #127423). * 三 6月 16 2004 Elliot Lee <sopwith@redhat.com> - rebuilt * 三 5月 26 2004 Tim Waugh <twaugh@redhat.com> 2.8.5-16 - No longer need lynx-284-ipv6-salen.patch. - No longer need lynx2-8-2-telnet.patch. * 六 2月 14 2004 Elliot Lee <sopwith@redhat.com> 2.8.5-15 - rebuilt * 二 12月 02 2003 Tim Waugh <twaugh@redhat.com> 2.8.5-14 - Updated to dev16, fixing bug #110196. - No longer need crlf patch. - Use shipped ja translations. - Use %find_lang. - Default config file now sets UTF-8 (bug #110986). --------------------------------------------------------------------------------
包选择选项
package_name 查询已安装包的package_name。
-a,--all 查询所有已安装拨。
-f file,--file file 找出什么包拥有文件file。
-g group,--group group 找出什么包拥有组group。
-p package_file 查询未安装包package_file
--querybynumber num 查询第num个数据库条目。主要用于调试。
-qf,--queryformat num 指定显示查询结果时所采用的格式,使用标记来表示不同的数据类型(NAME,FILENAME,DISTRIBUTION)。格式说明是标准printf格式化的一个变体。
--specfile specfile 查询specfile,就好象它是个包
--triggeredby pkg 列出触发安装pkg包的包。
--whatrequires capability 列出要求特定能力来行使职责的包。
--whatprovides capability 列出提供特定能力的包。 --------------------------------------------------------------------------------
信息选择选项:
-c,--configfiles 列出包中的配置文件。
--changelog 显示有关于包的改变信息的日志。
-d,--docfiles 列出包中的文档文件。
--dump 转储包中每个文件的信息。这个选项必须至少与-l,-c或-d之一共同使用。 以下列顺序输出信息: path size mtime md5sum mode owner group isconfig isdoc rdev symlink
--filebypkg 列出每个包中的所有文件。
-i 显示包的信息,包括名字,版本和描述。
-l,--list 列出包中所有文件
--last 根据安装时间列出包,最新的包排第一位。
--provides 列出这个包所提供的实际能力。
-R,--requires 列出这个包所依赖的任何包。
-s,--state 列出包中的每个文件及其状态。可能的状态为normal,not installed或replaced。
--scripts 列出任何在安装和卸载过程中所使用的包特定的shell脚本。
--------------------------------------------------------------------------------
卸载
uninstall命令的语法为:
rpm -e package_name rpm --erase package_name
示例:
[root@localhost ~]# rpm -e lynx [root@localhost ~]# rpm -q lynx package lynx is not installed --------------------------------------------------------------------------------
卸载选项为:
--allmatches 删除包的所有版本。应该只指定一个包,否则会导致错误。
--nodeps 在卸载包之前不检查依赖性。
--noscripts 不执行任何预卸载和后卸载脚本。
--notriggers 不执行任何由这个包的删除而出发的脚本。
--test 不真正卸载任何包,仅仅查看活动过程。
--------------------------------------------------------------------------------
以上简要介绍和演示了一下RPM包的安装,删除和查询。下一篇将讲解和演示RPM的一些其他特性。 --------------------------------------------------------------------------------
参考文献: 《红帽Linux 9 从入门到精通》,[美] Michael jang著 邱仲潘 等译 SYBEX 电子工业出版社 《Linux in a Nutshell》,Ellen Siever,Stepben Spainbour,Stepben
(http://www.fanqiang.com)
|
|