可使用 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-order 和 signature-required-names 属性可以取多个值。
请参见配置软件包签名属性中的 pkg set-publisher 示例。
可使用 -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],其中 protocol 是 http 或 https,而 :port 是可选的。有关设置代理的其他方法的信息,请参见指定代理。
缺省情况下,新添加的发布者处于启用状态。填充软件包列表时,或者在 install、uninstall 或 update 软件包操作中,不会使用已禁用的发布者。但仍可以设置和查看已禁用的发布者的属性。如果只启用了一个发布者,则不能禁用该发布者。
以下命令启用 isvpub 发布者,并在搜索顺序中将其设置在 devtool 发布者之前。
$ pkg set-publisher --enable --search-before devtool isvpub
可使用 --disable 选项禁用发布者。例如,当发布者的源暂时无法访问时,您可能需要禁用该发布者。如果有任何发布者无法访问,软件包安装和更新操作将失败。
可使用 pkg unset-publisher 命令删除发布者。
$ pkg unset-publisher devtool