在 Oracle® Solaris 11.2 中添加和更新软件

退出打印视图

更新时间: 2014 年 7 月
 
 

指定搜索查询

缺省情况下,搜索查询是一组要精确匹配但不区分大小写的词条。可使用 -I 选项指定区分大小写的搜索。

在查询词条中可使用 ?* 通配符。可使用单引号或双引号搜索短语。当使用通配符或引号时,请务必考虑所用的 shell。

可以指定多个查询词条。缺省情况下,多个词条以 AND 连接。可以使用 OR 显式连接两个词条。

可以用以下结构化形式表达搜索查询:

package:action:index:token
package

要搜索的软件包的名称或可以与多个软件包匹配的模式。

action

pkg(5) 手册页的“操作”部分中列出的操作名称。

index

pkg(5) 手册页的“操作”部分中列出的 action 属性的名称。

token

index 的值或可以与 index 值匹配的模式。

对缺少的字段使用隐式通配符。

并非所有属性都是可搜索的。例如,modefile 操作的一个属性,但是 mode 不是 index 的有效值。

index 的某些值是从其他属性派生的值。例如,index 可以是 basename,它是 filedir 操作的 path 属性的最后一个组成部分。有用的 index 值的示例包括:对应于 filedir 操作的 basenamepath、对应于 depend 操作的依赖关系类型(例如 requiregroup),以及对应于 driver 操作的 driver_namealias

token 的值和由 index 指定的属性的值进行对比。例如,在下面的部分 driver 操作中,可以为 index 指定属性名称 alias,可以为 token 指定 pci108e*

driver alias=pci108e,1647 alias=pci108e,16a7

set 操作的语法稍有不同。set 操作的两个属性为 namevalue。在这种情况下,index 的值是 name 属性的值,并且会将 token 的值与匹配的 value 属性的值进行比较。以下示例显示了针对驱动程序软件包的不完整 set 操作:

set name=pkg.summary value="Broadcom NetXtreme II 10GbE NIC Driver"

以下示例针对 action 指定了 set,针对 index 指定了 pkg.summary,针对 token 指定了 Broadcomsearch.matchpkg.name 列说明符是伪属性。请参见 pkg(1) 手册页。

$ pkg search -o search.match,pkg.name pkg.summary:Broadcom
SEARCH.MATCH                           PKG.NAME
Broadcom NetXtreme II 10GbE NIC Driver driver/network/ethernet/bnxe
Broadcom 57xx 1GbE NIC Driver          driver/network/ethernet/bge
Broadcom NetXtreme II 1GbE NIC Driver  driver/network/ethernet/bnx
Broadcom BCM4401 NIC Driver            driver/network/ethernet/bfe
Broadcom HT1000 SATA driver            driver/storage/bcm_sata

set 操作 name 属性的一些明确定义的值包括 pkg.fmriinfo.classificationpkg.descriptionpkg.summary。请参见 pkg(5) 手册页中的 "Set Actions"(Set 操作)。

缺省情况下,仅显示匹配的当前安装的软件包版本或新软件包版本。可使用 -f 选项显示所有匹配的版本。

缺省情况下,将显示所有匹配操作的结果,这样一个软件包可产生多行结果。可使用 -p 选项使每个匹配的软件包只列出一次。