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

退出打印视图

更新时间: 2014 年 7 月
 
 

添加、修改或删除软件包发布者

可使用 pkg set-publisher 命令执行以下操作:

  • 配置新发布者

  • 设置发布者源和镜像

  • 设置发布者粘滞性

  • 设置发布者搜索顺序

  • 设置和取消设置发布者属性,以及添加和删除发布者属性值

  • 指定发布者的 SSL 密钥和证书

  • 设置发布者代理

  • 启用或禁用发布者

  • 删除发布者

pkg set-publisher 命令具有两种形式。有关详细信息,请参见 pkg(1) 手册页。

  • 在其中一种格式中,发布者名称是一个必需的操作数。

  • 在另一种格式中,系统信息库 URI 作为 -p 选项的参数提供,并且从指定的系统信息库检索发布者信息。发布者名称是可选的操作数,因此,如果多个发布者将软件包发布到该系统信息库,可仅配置已命名的发布者。

添加发布者

下面的示例显示了两种用于添加发布者的方法。

示例 5-1  指定新发布者

以下命令添加名为 devtool 的发布者(使用 -g 选项指定源 URI),并将该发布者设置为搜索顺序中的第一个。可使用 -P 选项或 --search-first 选项将指定的发布者设置为搜索顺序中的第一个。

$ pkg set-publisher -P -g http://pkg.example1.com/release/ devtool
示例 5-2  导入发布者配置

可使用 -p 选项从指定的系统信息库 URI 检索发布者的配置信息。如果指定了发布者,则仅添加或更新匹配的发布者。如果未指定发布者,则根据需要添加或更新所有发布者。

$ pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F http://pkg.oracle.com/solaris/release/
$ pkg set-publisher -p /export/IPSpkgrepos/myrepo
$ pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F http://pkg.oracle.com/solaris/release/
site                        origin   online F file:///export/IPSpkgrepos/myrepo/

添加和更改发布者源

以下命令显示向 solaris 发布者添加一个源。如果在映像中为给定发布者配置了多个源,则 IPS 客户机在检索软件包数据时会尝试从中选择最佳的源。

$ pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F http://pkg.oracle.com/solaris/release/
$ pkg set-publisher -g /export/IPSpkgrepos/Solaris solaris
$ pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F http://pkg.oracle.com/solaris/release/
solaris                     origin   online F file:///export/IPSpkgrepos/Solaris/

可使用 -G 选项删除作为指定发布者源的 URI。

要更改发布者的源 URI,请添加新 URI 并删除旧 URI。

$ pkg set-publisher -G '*' -g file:///export/IPSpkgrepos/isvrepo/ isvpub

添加和更改发布者镜像

可使用 -m 选项添加作为指定发布者镜像的 URI。有关源和镜像间差异的说明,请参见系统信息库源和镜像。除非同一发布者的源系统信息库中也存在同一软件包的相同版本,否则无法访问镜像系统信息库中的内容。

$ pkg set-publisher -m http://pkg.example3.com/ devtool
$ pkg publisher
PUBLISHER                   TYPE    STATUS P LOCATION
devtool                     origin  online F http://pkg.example1.com/
devtool                     mirror  online F http://pkg.example3.com/

可使用 -M 选项删除作为指定发布者镜像的 URI。

要更改发布者的镜像 URI,请添加新 URI 并删除旧 URI。

设置发布者搜索顺序和粘滞性

缺省情况下,新添加的发布者具有粘滞性。如果发布者不具有粘滞性,从此发布者安装的软件包可以从其他发布者进行更新。可使用 --sticky--non-sticky 选项设置发布者的粘滞性。

缺省情况下,新添加的发布者在搜索顺序中排最后一位。发布者搜索顺序可用于查找要安装的软件包。如果用于软件包初始安装的发布者不具有粘滞性,将使用发布者搜索顺序查找要更新的软件包。可使用 --search-before--search-after--search-first 选项更改发布者搜索。-P 选项是 --search-first 选项的同义词。

第一个提供匹配软件包的发布者将用作安装源。如果该发布者未提供可以安装在此映像中的软件包版本,则安装操作将失败。要从搜索顺序中靠后的发布者进行安装,请在软件包 FMRI 中提供更多信息,如发布者名称或软件包版本字符串。

配置发布者属性

可使用下列选项设置和取消设置发布者属性,以及添加和删除发布者属性值:

  • --set-property property=value

  • --add-property-value property=value

  • --remove-property-value property=value

  • --unset-property property

publisher-search-ordersignature-required-names 属性可以取多个值。

请参见配置软件包签名属性中的 pkg set-publisher 示例。

配置发布者密钥和证书

示例 5-3  指定发布者密钥和证书

可使用 -k 选项指定客户端 SSL 密钥。可使用 -c 选项指定客户端 SSL 证书。可使用 --approve-ca-cert 选项添加指定证书作为可信任的 CA 证书。用户批准的 CA 证书的散列值在针对此发布者的 pkg publisher 命令输出中列出。请参见显示发布者信息

$ pkg set-publisher -k /root/creds/example.key -c /root/creds/example.cert \
--approve-ca-cert /tmp/example_file.pem isvpub
示例 5-4  撤销发布者密钥和证书

可使用 --revoke-ca-cert 选项将指定证书处理为已撤销的。用户撤销的 CA 证书的散列值在针对此发布者的 pkg publisher 命令输出中列出。

可使用 --unset-ca-cert 选项从已批准和已撤销证书的列表中删除指定证书。

配置发布者代理

可使用 --proxy 选项指定一个持久性代理 URI,以便从该 URI 检索指定源或镜像的内容。代理的值为 protocol://host[:port],其中 protocolhttphttps,而 :port 是可选的。有关设置代理的其他方法的信息,请参见指定代理

启用或禁用发布者

缺省情况下,新添加的发布者处于启用状态。填充软件包列表时,或者在 installuninstallupdate 软件包操作中,不会使用已禁用的发布者。但仍可以设置和查看已禁用的发布者的属性。如果只启用了一个发布者,则不能禁用该发布者。

以下命令启用 isvpub 发布者,并在搜索顺序中将其设置在 devtool 发布者之前。

$ pkg set-publisher --enable --search-before devtool isvpub

可使用 --disable 选项禁用发布者。例如,当发布者的源暂时无法访问时,您可能需要禁用该发布者。如果有任何发布者无法访问,软件包安装和更新操作将失败。

删除发布者

可使用 pkg unset-publisher 命令删除发布者。

$ pkg unset-publisher devtool