5. 使用 yum 搜索软件

使用 yum 的搜索功能来查找已配置的仓库中可用的软件,或系统中已安装的软件。搜索自动包含这两类软件。

结果的格式依赖于所用的选项。如果查询没有给出结果,说明没有满足要求的软件。

5.1. 通过软件名和属性搜索

要通过名称搜索,使用 list 功能。要搜索软件 tsclient,使用命令:

su -c 'yum list tsclient'

当提示时,输入 root 帐号的密码。

要使搜索更精确,可以指定包含属性的名称,例如版本或硬件架构。要搜索 tsclient 的 0.132 版,使用命令:

su -c 'yum list tsclient-0.132'
[注意]有效的软件属性

参见 第 2.4 节 “理解软件包名称”,其中有软件包命名格式以及其中包含的属性等信息。

5.2. 高级搜索

如果您不知道软件的名称,使用 searchprovides 功能。另外,可以在任何 yum 搜索选项中使用通配符和正则表达式,来扩大搜索范围。

search 功能检测所有可用的软件的名称、描述、概述和已列出的维护者,查找匹配的值。例如,要从所有软件包中搜索与 PalmPilots 相关的内容,输入:

su -c 'yum search PalmPilot'

当提示时,输入 root 帐号的密码。

provides 功能检测软件包中包含的文件以及软件提供的功能。与 search 相比,这个选项要求 yum 下载并读取一个很大的索引文件。

要搜索所有包含文件 libneon 的软件包,输入:

su -c 'yum provides libneon'

要搜索所有提供了 MTA (Mail Transport Agent, 邮件传输代理) 服务,或名称中包含了 mta 的软件包:

su -c 'yum provides MTA'

对每个命令,应在提示时输入 root 帐号的密码。

使用标准的通配符搭配词或名称的片段来搜索:? 代表任意单个字符,* 代表 0 或多个字符。在通配符前应当使用转义字符 (\)。

list 列出名称以 tsc 开始的软件,输入:

su -c 'yum list tsc\*'
[提示]正则表达式

使用 Perl 或 Python 正则表达式来进行更复杂的查询。

5.3. 理解匹配

使用 yum 搜索会得出所有匹配您的搜索条件的软件。如果不使用通配符或正则表达式,那么只有准确地满足搜索条件的软件才视为匹配。

例如,搜索 shadowutilsshadow-util 的结果不会包含 shadow-utils 软件。如果搜索条件是 shadow-util\?shadow\*,那么这个软件将视为匹配并显示出来。