可使用 pkg mediator 命令显示映像中所有中介链接的首选版本。
在以下输出中,MEDIATOR 是共享相同首选链接路径的链接组的名称。VER. SRC. 和 IMPL. SRC. 显示首选版本是由系统选择的,还是根据指定的优先级(vendor 或 site)选择的,又或是由管理员设置的 (local)。VERSION 是选择的中介参与者的版本,它应该类似于链接表示的软件版本。VERSION 是由软件包开发者设置的。IMPLEMENTATION 是另一个可由软件包开发者设置的字符串,也可以替代版本字符串。
$ pkg mediator MEDIATOR VER. SRC. VERSION IMPL. SRC. IMPLEMENTATION gcc-runtime system 4.7 system java system 1.7 system php system 5.2 system python vendor 2.6 vendor ruby system 1.9 system
-a 选项显示所有中介参与者。如果要选择其他首选版本,可使用此选项显示您的选择。以下示例显示了 java 中介中的所有参与者。system 关键字指明该中介中的首选版本不是使用软件包中的优先级设置指定的,也不是由管理员设置的:包管理系统选择了具有更高 VERSION 值的版本作为首选版本。
$ pkg mediator -a java MEDIATOR VER. SRC. VERSION IMPL. SRC. IMPLEMENTATION java system 1.7 system java system 1.6 system
以下输出确认该映像中安装了 Java 运行时环境的两个不同版本,并且 1.7.0_51 版本是当前选择的首选版本:
$ pkg list -s '*jre*' NAME (PUBLISHER) SUMMARY runtime/java/jre-6 Java(TM) Platform Standard Edition Runtime Environment (1.6.0_71-b12) runtime/java/jre-7 Java Platform Standard Edition Runtime Environment (1.7.0_51-b13) $ java -version java version "1.7.0_51" Java(TM) SE Runtime Environment (build 1.7.0_51-b13) Java HotSpot(TM) Server VM (build 24.51-b03, mixed mode)
jre-6 和 jre-7 软件包都定义了其路径为 /usr/bin/java 的符号链接。在 jre-6 软件包中,链接的目标为 jdk1.6.0。在 jre-7 软件包中,链接的目标为 jdk1.7.0。前面的 pkg mediator 和 java -version 命令显示版本 1.7 为当前的首选版本,也是 /usr/bin/java 链接的目标。