分享
 
 
 

RPM查询篇

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

RPM不仅在安装,升级,卸载方面工作出色,而且在查询方面比其它软件包管理工具更胜一筹。这从以下几种情况可以看出:

* 当你在浏览系统文件时,发现一个文件,想知道它来自哪个软件包时,可以用RPM来查询得知;

* 当你的朋友给你发送来一个软件包,但你不知道这是个什么样的软件包,不知道它做些什么,安装些什么,来源是哪里。这时,你可以用RPM查询搞定;

* 几个月前你安装了XFree86窗口软件,但现在你忘了它的版本号,也不知它的说明文档在哪里。这时,你可以用RPM查询一下这个软件包,得到这方面的信息。

RPM的查询还有一个高级功能,即定制输出功能。你可用--queryformat(或-qf)来定制一下输出格式,这样,RPM查询得到的信息将以你定制的格式输出,这样很是方便,尤适合于程序的自动处理。

命令格式

查询RPM格式的软件包,可使用如下命令格式:

rpm -q [查询选项1 查询选项2...]

注: 也可使用--query代替-q,效果相同。

选项列表

选项详解

指定用选项中ftp与http相关的四个选项(--ftpproxy,--ftpport,--httpproxy,--httpport)和通用选项的解释,请参见<<精通RPM之二--安装篇>>,本文不再赘述。下面对指定用选项做些解释:

指定用选项可分为如下几类:

一、软件包选择类

此类选项在一次只能选择一个,选择多个时RPM将提示错误:

rpm: one type of query/verify may be performed at a time

从查询方面看,一个是查询那些已安装的软件包,一个是查询未安装的软件包。

1. 查询已安装的软件包,使用下列选项:

(1) -a (或--all) : 查询所有已安装的软件

# rpm -q -a

setup-2.0.2-1

filesystem-1.3.4-5

basesystem-6.0-5

agrep-2.04-5

aktion-0.3.6-2

amor-0.5-1

dhcpcd-1.3.17pl2-1

ldconfig-1.9.5-15

glibc-2.1.2-12

chkconfig-1.0.6-2

......

#

注: 本例查找当前系统中安装的所有软件包,输出很多,仅列出几个,剩下的省略掉了(以......表示)。

(2) -g (或--group) : 查询有哪些软件包属于指定类别

RPM根据软件功用的不同,将软件分为以下若干类:(括号内为注释)

Amusements/Games (娱乐/游戏)

Amusements/Graphics(娱乐/图形)

Applications/Archiving (应用/档案)

Applications/Communications (应用/通讯)

Applications/Databases (应用/数据库)

Applications/Editors (应用/编辑器)

Applications/Emulators (应用/仿真器)

Applications/Engineering (应用/工程)

Applications/File (应用/文件)

Applications/Internet (应用/因特网)

Applications/Multimedia (应用/多媒体)

Applications/Productivity (应用/产品)

Applications/Publishing (应用/印刷)

Applications/System (应用/系统)

Applications/Text (应用/文本)

Development/Debuggers (开发/调试器)

Development/Languages (开发/语言)

Development/Libraries (开发/函数库)

Development/System (开发/系统)

Development/Tools (开发/工具)

Documentation (说明文档)

System Environment/Base (系统环境/基础)

System Environment/Daemons (系统环境/守护)

System Environment/Kernel (系统环境/内核)

System Environment/Libraries (系统环境/函数库)

System Environment/Shells (系统环境/接口)

User Interface/Desktops (用户界面/桌面)

User Interface/X (用户界面/X窗口)

User Interface/X Hardware Support (用户界面/X硬件支持)

Other (其它)

注意: 类别是大小写敏感的,这一点输入时要小心。如果用户想要查询当前系统安装了哪些游戏类的软件包,可这样做:

# rpm -q -g Amusements/Games

clanbomber-1.01-1

kdegames-1.1.2-1

xbill-2.0-6

xboard-4.0.0-3

xboing-2.4-7

xgammon-0.98-14

xjewel-1.6-11

xpat2-1.04-10

xpilot-3.6.2-6

xpuzzles-5.4.1-7

xtrojka-1.2.3-6

#

如果用户想查询若干类别的软件包时,可以把类别都列出来,一起查询,如:

# rpm -q -g Applications/Editors Applications/File

emacs-20.3-15

emacs-nox-20.3-15

emacs-X11-20.3-15

vim-common-5.6-12

vim-minimal-5.6-12

vim-X11-5.6-12

fileutils-4.0-3

bzip2-0.9.5d-1

findutils-4.1-32

git-4.3.17-6

gzip-1.2.4-15

slocate-1.4-7

stat-1.5-12

file-3.26-6

#

注: 本例查询结果中前6个为"应用/编辑器"类别,后8个为"应用/文件"类别。

(3) -f (或--file) : 查询有哪些软件包拥有指定文件这个选项非常有用。当用户不清楚某个文件属于哪个软件包时,可试试这个选项。假如我记不清/usr/sbin/ftpd这个文件在哪个包中,现在用RPM查询:

# rpm -qf /usr/sbin/ftpd

inet6-apps-0.36-3

#

现在知道了,它在inet6-apps-0.36-3包中。命令中-qf是-q -f的缩写,当选项仅带一个减号时,多个选项可以合并在一起,如-a -b -c三个选项可写作-abc,执行效果相同。

(4) --whatrequires : 查询有哪些包需要指定功能

本选项指示RPM从所有已安装的软件包中,查询有哪些软件包提供了用户指定的功能,命令行上可输入一个或多个功能。

# rpm -q --whatrequires /bin/ps libc.so.6 | head

autofs-3.1.3-2

agrep-2.04-5

aktion-0.3.6-2

amor-0.5-1

chkconfig-1.0.6-2

libtermcap-2.0.8-16

bash-2.03-10

ncurses-4.2-18

info-3.12f-4

fileutils-4.0-3

#

注: 本例从系统中查询哪些软件包需要/bin/ps和libc.so.6功能,通过管道输出前10行内容。

(5) --whatprovides : 查询有哪些包提供指定功能

本选项指示RPM从所有已安装的软件包中,查询有哪些软件包提供了用户指定的功能。命令行上可输入一个或多个功能。

# rpm -q --whatprovides libc.so.6 /bin/ps

glibc-2.1.2-12

no package provides /bin/ps

#

注: 本例从系统中查询有哪些软件包提供libc.so.6与/bin/ps功能,结果是glibc-2.1.2-12包提供了libc.so.6,而没有包提供/bin/ps功能。

(6) --triggeredby : 查询有哪些包被指定的包触发本选项指示RPM从所有已安装的软件包中,查询有哪些包可被用户指定的包触发。指定的包可输入一个或多个。

# rpm -q --triggeredby file

foo-8.0-1

#

注: 本例查询后得知,安装或卸载foo-8.0-1包,将会触发与file包相关的脚本程序执行。

2. 查询未安装的软件包: (仅有一个选项可用)

(1) -p : 查询指定包裹文件的信息

使用本选项,通过指定一个或多个包裹文件名,RPM就可以获取相应包裹的有关信息。包裹文件可以是一般形式,也可是ftp/http形式。

# rpm -qp -l --ftpport 2121 ftp://zzz:pass@linux/zhsoft/file-3.26-6.i386.rpm

/usr/bin/file

/usr/man/man1/file.1

/usr/man/man4/magic.4

/usr/share/magic

#

注: 本例查询ftp形式的包裹,显示其文件列表(-l选项使然,下面要讲到)。ftp用户名zzz,密码为pass,远程机为linux,文件名为/zhsoft/file-3.26-6.i386.rpm,ftp使用2121端口。

二、信息显示类

本类选项可同时选择多个,以显示多种信息。

1. -i : 显示软件包信息

当用户需要了解软件包的头部信息时,要使用该选项。

# rpm -qi file

Name: file Relocations: /usr

Version : 3.26 Vendor: Red Hat Software

Release : 6 Build Date: 1999年03月23日 星期二 05时32分29秒

Install date: 2001年10月14日 星期日 21时18分25秒 Build Host: porky.devel.redhat.com

Group : Applications/File Source RPM: file-3.26-6.src.rpm

Size: 211946 License: distributable

Packager: Red Hat Software

Summary : A utility for determining file types.

Description :

The file command is used to identify a particular file according to the

type of data contained by the file. File can identify many different

file types, including ELF binaries, system libraries, RPM packages, and

different graphics formats.

You should install the file package, since the file command is such a

useful utility.

#

上述输出中,包含多个域,各个域的含义为:

Name : 软件名;Relocations : 重定位目录前缀(一个或多个);

Version : 版本号;Vendor : 开发商;

Release : 释出号;Build Date : 包建立时间;

Install date : 安装时间; Build host : 包建立主机;

Group: 类别; Source RPM : 源代码包;

Size : 大小; License : 许可证;

Packager : 打包者;

Summary : 软件简介;

Description : 详细描述。

2. -l (或--list) : 显示软件包文件列表

当用户想知道软件包包含哪些文件时,要使用该选项。输出时,一行一个文件名,形成文

件列表。下例列出file包中文件:

# rpm -qlv file

-rwxr-xr-x root root23948 3月 23 1999 /usr/bin/file

-rwxr-xr-x root root12023 3月 23 1999 /usr/man/man1/file.1

-rwxr-xr-x root root 6625 3月 23 1999 /usr/man/man4/magic.4

-rwxr-xr-x root root 169350 3月 23 1999 /usr/share/magic

#

注: 本例列文件时选用了通用选项-v,这样列出的格式同ls命令列出的格式,从中可以看到各个文件的权限,属主,属组,大小,最后修改时间及文件名等信息。

3. -d (或--docfiles) : 显示软件包说明文档RPM将软件包中的文件分为三类,一是配置文件,一是说明文档,再一是其它文件(包括可执行程序及数据文件等)。通过-d选项,可列出包中所有说明文档。下例列出file包中说明文档:

# rpm -qd file

/usr/man/man1/file.1

/usr/man/man4/magic.4

#

4. -c (或--configfiles) : 显示软件包配置文件使用本选项可列出包中所有配置文件。下例列出lze包中的配置文件:

# rpm -qc lze

/etc/funkey.def

/etc/inputme.def

#

5. -s (或--state) : 显示软件包文件状态RPM已安装的软件包中各个文件可拥有如下4种状态:

* normal(正常): 这表明文件未被其它软件包修改过。

* replaced(已

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有