JavaScript is required to for searching.
跳过导航链接
退出打印视图
添加和更新 Oracle Solaris 11 软件包     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  映像包管理系统简介

2.  IPS 图形用户界面

3.  获取有关软件包的信息

显示软件包安装状态信息

显示软件包描述或许可证

显示软件包清单中的信息

列出软件包安装的文件

列出组软件包中的所有可安装软件包

显示许可证要求

搜索软件包

确定提供特定文件的软件包

按类别列出软件包

显示依赖软件包

列出组软件包中的所有软件包

4.  安装和更新软件包

5.  配置已安装的映像

搜索软件包

可使用 pkg search 命令搜索数据与指定模式匹配的软件包。

/usr/bin/pkg search [-HIaflpr] [-o attribute ...] [-s  repo_uri] query

pkg contents 命令一样,pkg search 命令检查软件包的内容。pkg contents 命令返回内容,而 pkg search 命令返回与查询匹配的软件包的名称。

缺省情况下,pkg search 查询术语采用完全匹配(但不区分大小写)。可使用 -I 选项指定区分大小写的搜索。在查询术语中可以使用 ? 和 * 通配符。

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

可以按以下结构化形式表达查询:

pkg_name:action_type: key:token

对缺少的字段使用隐式通配符。pkg_nametoken 字段中支持显式通配符。action_typekey 必须完全匹配。有关软件包操作和键的列表,请参见 pkg(5) 手册页。

缺省情况下,搜索与为此映像配置的所有发布者关联的系统信息库。可使用 -l 选项仅搜索安装于此映像中的软件包。可使用 -s 选项指定要搜索的系统信息库的 URI。

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

确定提供特定文件的软件包

以下示例显示 libpower 库来自 system/kernel/power 软件包。

$ pkg search -l -H -o pkg.name /lib/libpower.so.1
system/kernel/power

按类别列出软件包

以下示例找出了 info.classification 属性值中含有 "Source Code Management" 的所有软件包。

# pkg search ':set:info.classification:Source Code Management'
INDEX               ACTION VALUE                              PACKAGE
info.classification set    Development/Source Code Management pkg:/developer/versioning/subversion@1.6.16
info.classification set    Development/Source Code Management pkg:/developer/versioning/git@1.7.3.2-0.174
info.classification set    Development/Source Code Management pkg:/developer/versioning/sccs@0.5.11-0.174
info.classification set    Development/Source Code Management pkg:/library/perl-5/subversion@1.6.16-0.174
info.classification set    Development/Source Code Management pkg:/library/java/subversion@1.6.16-0.174.0
info.classification set    Development/Source Code Management pkg:/library/python-2/subversion@1.6.16-0.1
info.classification set    Development/Source Code Management pkg:/developer/xopen/xcu4@0.5.11-0.174.0.0.
info.classification set    Development/Source Code Management pkg:/developer/quilt@0.47-0.174.0.0.0.0.504
info.classification set    Development/Source Code Management pkg:/developer/versioning/cvs@1.12.13-0.174
info.classification set    Development/Source Code Management pkg:/developer/versioning/mercurial@1.8.4-0

本示例说明大量重复信息会使真正需要的信息难以分辨。

以下示例使用 -o 选项只显示软件包的名称,并使用 -H 选项省略列标题。

# pkg search -o pkg.name -H ':set:info.classification:Source Code Management'
developer/versioning/subversion
developer/versioning/git
developer/versioning/sccs
library/perl-5/subversion
library/java/subversion
library/python-2/subversion
developer/xopen/xcu4
developer/quilt
developer/versioning/cvs
developer/versioning/mercurial

显示依赖软件包

下面的这些示例显示依赖于指定软件包的软件包。

以下示例显示了对 system/kernel/power 软件包具有 require 依赖性的软件包。如果使用 pkg contents 命令来显示 i86pcsystem/hal 软件包的 require 类型的 depend 操作,将看到这两个软件包均列出 system/kernel/power

$ pkg search -l -H -o pkg.name 'depend:require:system/kernel/power'
system/kernel/dynamic-reconfiguration/i86pc
system/hal

以下示例显示许多软件包都对 pkg:/x11/server/xorg@1.10.99 具有 exclude 依赖性。

$ pkg search -l -o pkg.name,fmri 'depend:exclude:'
PKG.NAME                                 FMRI
x11/server/xorg/driver/xorg-video-ati    pkg:/x11/server/xorg@1.10.99
x11/server/xorg/driver/xorg-video-intel  pkg:/x11/server/xorg@1.10.99
x11/server/xvnc                          pkg:/x11/server/xorg@1.10.99
desktop/remote-desktop/tigervnc          pkg:/x11/server/xorg@1.10.99
x11/server/xserver-common                pkg:/x11/server/xorg@1.10.99
...

列出组软件包中的所有软件包

Oracle Solaris 11 GUI 安装程序安装 solaris-desktop 组软件包。自动化安装程序安装中的缺省 AI 清单和文本安装程序将安装 solaris-large-server 组软件包。solaris-small-server 组软件包是可用于在服务器上安装一个较小的软件包集合的替代方法。可使用以下搜索格式显示每个组包含的软件包集合。

$ pkg search -o fmri -H '*/solaris-desktop:depend:group:'
archiver/gnu-tar
audio/audio-utilities
...

在本示例中,-o pkg.name 只返回在查询的 pkg_name 字段中指定的软件包的名称:

group/system/solaris-desktop

-o fmri 选项返回在 solaris-desktop 软件包中指定为具有 group 类型依赖性的软件包的 FMRI。

缺省情况下,搜索只返回可安装在该映像中的软件包。在本示例中,搜索不返回匹配软件包,而是返回指定软件包中某个操作的属性值。在本示例中,该属性值是软件包名称。该命令返回的结果数量大于类似的 pkg contents 命令返回的结果数量,因为这些搜索结果包含在指定软件包的组依赖操作中指定的所有软件包的名称,而不仅仅是可安装软件包的名称。例如,可能包含无法安装在该映像中的软件包变量。可以将该搜索的输出和列出组软件包中的所有可安装软件包中所示的 pkg contents 命令的输出进行对比。


提示 - 通常,使用 pkg contents 命令显示指定软件包的内容,使用 pkg search 命令显示匹配查询的软件包。如果您知道哪个软件包可提供您感兴趣的内容,使用 pkg contents 命令。