跳过导航链接 | |
退出打印视图 | |
添加和更新 Oracle Solaris 11.1 软件包 Oracle Solaris 11.1 Information Library (简体中文) |
pkg list 命令可告诉您软件包是否已安装在当前映像中以及是否有更新可用。没有选项或操作数时,该命令列出安装在当前映像中的所有软件包。要缩小结果的范围,请提供一个或多个软件包名称。可以在软件包名称中使用通配符。引用通配符可将参数直接传递到 pkg,而 shell 不会扩展该参数。如果软件包变量的体系结构或区域类型与该映像不匹配,则不会列出。
/usr/bin/pkg list [-Hafnsuv] [-g path_or_uri ...] [--no-refresh] [pkg_fmri_pattern ...]
对于每个软件包,pkg list 命令显示一行信息。
$ pkg list '*toolkit' NAME (PUBLISHER) VERSION IFO isvtoolkit (isvpub) 1.0 i-- system/dtrace/dtrace-toolkit 0.99-0.175.1.0.0.21.0 i--
将发布者名称放在括号中表示 isvpub 发布者在该映像中不是发布者搜索顺序中的第一个。安装在该映像中的 dtrace-toolkit 软件包由搜索顺序中的第一个发布者发布。
I 列中的 "i" 表示这些软件包已安装在该映像中。要列出该映像中已安装的软件包和尚未安装但可以安装的最新版本的软件包,请使用 -a 选项。
$ pkg list -a '*toolkit' NAME (PUBLISHER) VERSION IFO image/nvidia/cg-toolkit 3.0.15-0.175.1.0.0.14.0 --- isvtoolkit (isvpub) 1.0 i-- system/dtrace/dtrace-toolkit 0.99-0.175.1.0.0.21.0 i--
该输出表示 image/nvidia/cg-toolkit 软件包可以安装在该映像中。
要列出所有匹配的软件包(包括无法安装在该映像中的软件包),请使用 -af 选项。要只列出这些软件包的最新版本,请指定 @latest。
$ pkg list -af '*toolkit@latest' NAME (PUBLISHER) VERSION IFO developer/dtrace/toolkit 0.99-0.173.0.0.0.1.0 --r image/nvidia/cg-toolkit 3.0.15-0.175.1.0.0.14.0 --- isvtoolkit (isvpub) 1.0 i-- system/dtrace/dtrace-toolkit 0.99-0.175.1.0.0.21.0 i--
该输出表示 developer/dtrace/toolkit 软件包无法安装在该映像中。O 列中的 "r" 表示此软件包已重命名。developer/dtrace/toolkit 软件包已重命名为 system/d race/dtrace-toolkit,并且 system/dtrace/dtrace-toolkit 已安装。
在以下示例中,web/amp 软件包已重命名为 group/feature/amp。如果指定命令来安装 web/amp 软件包,group/feature/amp 软件包将自动安装。
$ pkg list -a amp NAME (PUBLISHER) VERSION IFO group/feature/amp 0.5.11-0.175.0.0.0.21.0 --- web/amp 0.5.11-0.174.0.0.0.0.0 --r
pkg list 命令不会告诉您重命名软件包的新名称。在前面的示例中,作为 pkg list 命令输入提供的模式与旧名称和新名称都匹配,因此可以得出推断。通常,要显示已重命名软件包的新名称,请使用 pkg info 命令,如显示软件包描述或许可证中所示。
-n 选项列出每个已知软件包的最新版本。O 列中的 "o" 表示此软件包已过时。无法安装已过时的软件包。
$ pkg list -n '*mysql-5?' NAME (PUBLISHER) VERSION IFO database/mysql-50 5.0.91-0.171 --o database/mysql-51 5.1.37-0.175.1.0.0.21.0 ---
该输出表示 database/mysql-50 软件包无法安装在该映像中。该软件包未重命名。如果指定命令来安装 mysql-50 软件包,mysql-51 软件包不会安装。这种情况下不会安装任何软件包。
F 列中的 "f" 表示软件包已冻结。如果软件包已冻结,则只能安装或更新到与冻结版本匹配的软件包。有关冻结软件包的信息,请参见将软件包锁定为指定版本。
$ pkg list mercurial NAME (PUBLISHER) VERSION IFO developer/versioning/mercurial 2.2.1-0.175.1.0.0.21.0 if-
-s 选项只列出软件包名称和摘要。
$ pkg list -ns mysql-51 feature/amp NAME (PUBLISHER) SUMMARY database/mysql-51 MySQL 5.1 Database Management System group/feature/amp AMP (Apache, MySQL, PHP) Deployment Kit for Oracle Solaris
-v 选项列出完整的软件包 FMRI。
$ pkg list -nv mysql-51 FMRI IFO pkg://solaris/database/mysql-51@5.1.37,5.11-0.175.1.0.0.21.0:20120723T165236Z ---
-u 选项列出具有新版本可用的所有已安装软件包。
$ pkg list -u 'compress/*' NAME (PUBLISHER) VERSION IFO compress/bzip2 1.0.6-0.175.1.0.0.19.0 i-- compress/gzip 1.4-0.175.1.0.0.19.0 i-- compress/p7zip 9.20.1-0.175.1.0.0.19.0 i-- compress/unzip 6.0-0.175.1.0.0.19.0 i-- compress/zip 3.0-0.175.1.0.0.19.0 i--
注 - 软件包系统信息库中具有新版本可用的软件包的数目可能大于此映像中可更新的软件包的数目。软件包只能更新到已安装的软件包相关项和发布者配置对映像施加的约束所允许的版本。要确定该映像中的哪些软件包可更新,请使用 pkg update -nv。
可使用 -g 选项指定将用作操作的软件包数据源的系统信息库或软件包归档文件。
使用 --no-refresh 选项时,pkg 不会尝试访问映像发布者的系统信息库来检索可用软件包的最新列表。