|
发表于 2005-4-23 15:42:19
|
显示全部楼层
如果是RPM软件包,参考下面的资料,转载的,
使用命令rpm -q来查询已安装软件包的数据库。简单的使用命令 rpm -q foo 会打印出foo软件包 的包名 ,版本号,和发行号:
$ rpm -q foo
foo-2.0-1
除了指定软件包名以外,您还可以连同-q使用以下选项来指明要查询哪些软件包的信息。 这些选项被称之为 “软件包指定选项“:
* -a 查询所有已安装的软件包.
* -f <file> 将查询包含有文件<file>. 的软件包
* -p <packagefile> 查询软件包文件名为<packagefile>. 的软件包
有几种方式来指定查询软件包时所显示的信息。以下选项用于选择您感兴趣的信息 进行显示。它们被称作信息选择选项:
* -i 显示软件包信息,如描述, 发行号, 尺寸, 构建日期, 安装日期, 平台, 以及其它一些各类信息。
* -l 显示软件包中的文件列表。
* -s 显示软件包中所有文件的状态。.
* -d 显示被标注为文档的文件列表(man 手册, info 手册, README's, etc).
* -c 显示被标注为配置文件的文件列表。这些是您要在安装完毕以后加以 定制的文件(sendmail.cf, passwd, inittab, etc).
对于那些要显示文件列表的文件, 您可以增加-v 命令行选项以获得如同 ls -l 格式 的输出。.
8.2.5 验证
验证软件包是通过比较compares从软件包中安装的文件和软件包中的原始 文件信息来进行的。除了其它一些东西,验证主要是比较文件的尺寸, MD5 校验码, 文件权限, 类型, 属主和用户组等。
rpm-V命令用来验证一个软件包。您可以使用任何包选择选项来查询您要验证的软件包 命令rpm -V foo 将用来验证foo软件包。又如:
* 验证包含特定文件的软件包:
rpm -Vf /bin/vi
* 验证所有已安装的软件包:
rpm -Va
* 根据一个RPM来验证某个软件包:
rpm -Vp foo-1.0-1.i386.rpm
如果您担心你的RPM数据库已被破坏,就可以使用这种方式。.
如果一切均校验正常将不会产生任何输出。如果有不一致的地方,就会显示出来。 输出格式是8位长字符串, ``c'' 用以指配置文件, 接着是文件名. 8位字符的每一个 用以表示文件与RPM数据库中一种属性的比较结果 。``.'' (点) 表示测试通过。.以下字符表示某种测试的失败:
8.3 令人惊异的RPM
RPM是一个用于系统维护和诊断,解决问题的十分有用的工具。了解各种选项用法的 最好方式是通过例子来学习。
* 比如您误删了一些文件, 但您不能肯定到底都删除那些文件。如果您想验证一下 整个系统看看都丢失了那些文件的话,您可以键入:
rpm -Va
若是一些文件丢失了或已被损坏, 您就可以重新安装或先卸载再安装该软件包。
* 如果您碰到了一个自己不认识的文件,要想查处它属于哪个软件包,您可以输入以下命令
rpm -qf /usr/X11R6/bin/xjewel
而输出的结果会是:
xjewel-1.6-1
* 如果发生综合以上两个例子的情况,如文件/usr/bin/paste.出了问题。您想验证 一下拥有该文件的软件包,可由不知道软件包的名字,您这时可以简单的键入:
rpm -Vf /usr/bin/paste
这样相应的软件包就会被验证。.
* 如果您想了解一个您正在使用的程序的详细信息, 您可以键入如下命令来获得 拥有该程序的软件包中的文档信息:
rpm -qdf /usr/bin/ispell
输出结果为:
/usr/man/man4/ispell.4
/usr/man/man4/english.4
/usr/man/man1/unsq.1
/usr/man/man1/tryaffix.1
/usr/man/man1/sq.1
/usr/man/man1/munchlist.1
/usr/man/man1/ispell.1
/usr/man/man1/findaffix.1
/usr/man/man1/buildhash.1
/usr/info/ispell.info.gz
/usr/doc/ispell-3.1.18-1/README
* 您发现了一个新的koules RPM,但您不知道它是什么东西.,您可以键入如下命令:
rpm -qip koules-1.2-2.i386.rpm
输出结果大概为:
Name : koules Distribution: Red Hat Linux Colgate
Version : 1.2 Vendor: Red Hat Software
Release : 2 Build Date: Mon Sep 02 11:59:12 1996
Install date: (none) Build Host: porky.redhat.com
Group : Games Source RPM: koules-1.2-2.src.rpm
Size : 614939
Summary : SVGAlib action game; multiplayer, network
Description :
This arcade-style game is novel in conception and
excellent in execution. No shooting, no blood, no guts,
no gore. The play is simple, but you still must develop
skill to play. This version uses SVGAlib to run on a
graphics console.
* 现在您想了解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/destroy2.raw
/usr/lib/games/kouleslib/destroy1.raw
/usr/lib/games/kouleslib/creator2.raw
/usr/lib/games/kouleslib/creator1.raw
/usr/lib/games/kouleslib/colize.raw
/usr/lib/games/kouleslib
/usr/games/koules
以上只是几个例子. 随着您进一步的使用系统,您会发现rpm的更多用途。. |
|