在 Oracle® Solaris 11.2 中使用映像包管理系统打包和交付软件

退出打印视图

更新时间: 2014 年 7 月
 
 

交付应用程序的多个实现

您可能希望为给定的应用程序提供具有以下特征的多个实现:

  • 所有实现在映像中都可用。

  • 为了便于搜索,其中的一项实现位于一个公用目录中,如 /usr/bin

  • 管理员可以轻松更改公用目录中的实现,无需添加或删除任何软件包。

Oracle Solaris 11 为几种不同的应用程序提供多种实现,如 Java 和 Python。要指定公用目录中可用的实现(例如 /usr/bin)并使管理员可以轻松更改所选的实现,需使用中介链接。

中介链接在单个映像中管理应用程序的多个实现。中介链接是设置有 mediator 属性的符号链接(请参见中介链接的属性)。使用具有 mediator 属性的 link 操作打包的软件是中介的参与者。公用目录(如 /usr/bin)中可用的中介参与者称为首选版本。中介中的首选版本可通过以下方式确定:

在软件包清单中指定

您可以为中介的每个参与者指定一个版本 (mediator-version) 或版本化实现 (mediator-implementation)。您可以指定冲突时的覆盖优先级 (mediator-priority)。

由系统选择

如果中介的参与者具有指定的优先级,则优先级值最高的参与者将被选为首选实现。

如果中介的参与者不具有指定的优先级,但有一个参与者具有指定的版本,则版本值最高的参与者将被选为首选实现。

如果中介的参与者不具有指定的优先级或版本,将随机选择一个参与者作为首选实现。如果所选参与者的 mediator-implementation 包含版本字符串,则该 mediator-implementation 版本字符串值最高的参与者将被选为首选实现。

由管理员指定

管理员可以使用 pkg set-mediator 命令设置首选实现。请参见在 Oracle Solaris 11.2 中添加和更新软件 中的指定缺省的应用程序实现

如果只有一个特定中介的实例安装在映像中,则该实例将自动选作该中介的首选实现。如果管理员在安装软件包后设置首选实现,则在同一中介中安装其他参与者不会更改管理员设置的首选实现。