JavaScript is required to for searching.
跳过导航链接
退出打印视图
添加和更新 Oracle Solaris 11.1 软件包     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

1.  映像包管理系统简介

2.  IPS 图形用户界面

3.  获取有关软件包的信息

4.  安装和更新软件包

5.  配置已安装的映像

配置发布者

显示发布者信息

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

控制可选组件的安装

显示和更改变量值

显示和更改侧面值

将软件包锁定为指定版本

放宽由 Incorporation 指定的版本约束

指定缺省的应用程序实现

避免安装组软件包中的某些软件包

更新映像

映像更新的最佳做法

指定要安装的版本

更新之前指定版本约束

约束可用的软件包

将映像降级

更多更新命令选项

配置映像和发布者属性

引导环境策略映像属性

签名软件包的属性

签名的软件包的映像属性

签名的软件包的发布者属性

配置软件包签名属性

其他映像属性

设置映像属性

显示映像属性的值

设置映像属性的值

重置映像属性的值

创建映像

查看操作历史记录

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

配置映像和发布者属性

要实现映像策略,请设置映像属性。本节介绍映像和发布者属性,以及如何设置这些属性。有关映像属性的说明,另请参见 pkg(1) 手册页中的“映像属性”。

引导环境策略映像属性

映像是可安装 IPS 软件包和可执行其他 IPS 操作的位置。

引导环境 (boot environment, BE) 是可引导的映像实例。您可以在系统上维护多个 BE,每个 BE 中都可以安装不同的软件版本。引导系统时,您可以选择引导进入系统上的任何 BE。可通过软件包操作自动创建新的 BE。还可以显式创建新的 BE。是否创建新的 BE 取决于映像策略,具体如本节中所述。

缺省情况下,执行以下操作之一时,将自动创建新的 BE:

创建了新的 BE 时,系统将执行以下步骤:

  1. 创建当前 BE 的克隆。

    克隆 BE 包括原始 BE 的主根数据集之下按分层结构排列的所有内容。共享文件系统不在根数据集之下,也不进行克隆,而是由新的 BE 访问原始的共享文件系统。

  2. 在克隆 BE 中更新软件包,而不在当前 BE 中更新任何软件包。

    如果在当前 BE 中配置了非全局区域,将在新的 BE 中配置这些现有区域。

  3. 将新 BE 设置为下次引导系统时的缺省引导选项,除非指定 --no-be-activate。当前 BE 将保留为备用引导选项。

如果需要新的 BE,但是没有足够的空间来创建新的 BE,可能需要删除不需要的现有 BE。有关 BE 的更多信息,请参见《创建和管理 Oracle Solaris 11.1 引导环境》

有关设置以下映像属性的说明,请参见设置映像属性

be-policy

指定在打包操作期间何时创建 BE。允许使用以下值:

default

应用缺省 BE 创建策略 create-backup

always-new

所有软件包操作均需要重新引导:在设置为下次引导时的活动 BE 的新 BE 中执行这些操作。除非显式请求,否则不会创建备份 BE。

该策略最为安全,但是它比大多数站点的需要更为严格,因为在不重新引导的情况下无法添加任何软件包。

create-backup

对于需要重新引导的软件包操作,该策略创建设置为下次引导时的活动 BE 的新 BE。如果修改了软件包或安装了可能影响内核的内容,并且该操作影响实时 BE,将创建备份 BE,但不会将其设置为活动状态。也可以显式请求创建备份 BE。

仅当新安装的软件导致系统不稳定时(有可能发生,但比较少见),该策略才具有潜在风险。

when-required

对于需要重新引导的软件包操作,该策略创建设置为下次引导时的活动 BE 的新 BE。除非显式请求,否则不会创建备份 BE。

该策略的风险最大,因为如果对活动 BE 所做的软件包更改使得无法进行进一步更改,则可能不存在用于回退的最近 BE。

签名软件包的属性

如果要安装签名的软件包,请设置本节所述的映像属性和发布者属性以验证软件包签名。

签名的软件包的映像属性

配置以下映像属性以使用签名的软件包。

signature-policy

该属性的值确定在映像中安装、更新、修改或验证软件包时将对清单执行何种检查。应用于软件包的最终策略取决于映像策略和发布者策略的组合。该策略组合的严格程度至少相当于这两个策略单独执行时较严格的那一个。缺省情况下,软件包客户机不检查证书是否已撤销。要启用这些检查(可能需要客户机访问外部 Web 站点),请将 check-certificate-revocation 映像属性设置为 true。允许使用以下值:

ignore

忽略所有清单的签名。

verify

验证所有具有签名的清单的签名是否有效,但不要求签名所有安装的软件包。

这是缺省值。

require-signatures

要求所有新安装的软件包至少具有一个有效签名。如果安装的软件包不具备有效签名,pkg fixpkg verify 命令也会发出警告。

require-names

require-signatures 遵循相同的要求,但还要求 signature-required-names 映像属性中列出的字符串显示为用于验证签名信任链的证书的通用名称。

signature-required-names

此属性的值是在验证软件包签名时必须视为证书通用名称的名称列表。

签名的软件包的发布者属性

配置以下发布者属性以使用来自特定发布者的签名的软件包。

signature-policy

除了此属性仅适用于来自指定发布者的软件包外,此属性的功能与 signature-policy 映像属性的功能相同。

signature-required-names

除了此属性仅适用于来自指定发布者的软件包外,此属性的功能与 signature-required-names 映像属性的功能相同。

配置软件包签名属性

可使用 set-propertyadd-property-valueremove-property-valueunset-property 子命令配置此映像的软件包签名属性。

可使用 set-publisher 子命令的 --set-property--add-property-value--remove-property-value--unset-property 选项指定特定发布者的签名策略和必需名称。

以下示例将该映像配置为要求所有软件包都签名。该示例还要求将字符串 "oracle.com" 视为信任链中某个证书的通用名称。

$ pfexec pkg set-property signature-policy require-names oracle.com

以下示例将该映像配置为要求所有已签名软件包都进行验证。

$ pfexec pkg set-property signature-policy verify

以下示例将该映像配置为要求从发布者 example.com 安装的所有软件包必须签名。

$ pfexec pkg set-publisher --set-property signature-policy=require-signatures example.com

以下示例添加必需的签名。此示例将字符串 trustedname 添加到映像的通用名称列表中,这些通用名称必须显示在签名的信任链中才能视为有效。

$ pfexec pkg add-property-value signature-require-names trustedname

以下示例删除必需的签名。此示例从映像的通用名称列表中删除字符串 trustedname,这些通用名称必须显示在签名的信任链中才能视为有效。

$ pfexec pkg remove-property-value signature-require-names trustedname

以下示例为指定的发布者添加必需的签名。此示例将字符串 trustedname 添加到 example.com 发布者的通用名称列表中,这些通用名称必须显示在签名的信任链中才能视为有效。

$ pfexec pkg set-publisher --add-property-value \
signature-require-names=trustedname example.com

其他映像属性

ca-path

指定一个路径名称,其指向执行 SSL 操作所需的 CA 证书的保存目录。此目录的格式特定于底层 SSL 实现。要对可信 CA 证书使用替代位置,请将此值更改为指向另一个目录。有关 CA 目录的要求,请参见 SSL_CTX_load_verify_locations(3openssl) 的 CApath 部分。

缺省值为 /etc/openssl/certs

check-certificate-revocation

如果此属性设置为 True,则软件包客户机将尝试访问用于签名验证的证书中的任何 CRL 分发点,以确定证书自颁发以来是否已被撤销。

缺省值为 False

flush-content-cache-on-success

如果此属性设置为 True,则完成安装或更新操作后,软件包客户机将删除其内容高速缓存中的文件。对于更新操作,仅从源 BE 中删除内容。如果随后目标 BE 中发生了打包操作,并且此选项未发生更改,则软件包客户机将刷新其内容高速缓存。

在磁盘空间有限的系统上,可以使用此属性使内容高速缓存保持为较小的大小。此属性可能会导致花费更长的时间来完成操作。

缺省值为 True

mirror-discovery

此属性通知客户机使用 mDNS 和 DNS-SD 发现本地链路内容镜像。如果此属性设置为 True,则客户机尝试从其动态发现的镜像中下载软件包内容。要运行一个通过 mDNS 通告其内容的镜像,请参见 pkg.depotd(1M)

缺省值为 False

send-uuid

执行网络操作时发送映像的通用唯一标识符 (Universally Unique Identifier, UUID)。尽管用户可以禁用此选项,但是某些网络系统信息库可能会拒绝与不提供 UUID 的客户机通信。

缺省值为 True

trust-anchor-directory

此属性的值是包含映像信任锚点 (trust anchor) 的目录的路径名。此路径是映像的相对路径。

缺省值为 ignore

use-system-repo

此属性指示映像是否应使用系统信息库作为映像和发布者配置的源,以及作为与提供的发布者通信的代理。有关系统信息库的信息,请参见pkg.sysrepo(1M)

缺省值为 ignore

设置映像属性

可使用 set-propertyadd-property-valueremove-property-valueunset-property 子命令配置此映像的属性。

/usr/bin/pkg property [-H] [propname ...] /usr/bin/pkg set-property propname propvalue  /usr/bin/pkg add-property-value propname  propvalue /usr/bin/pkg remove-property-value propname  propvalue /usr/bin/pkg unset-property propname ...

显示映像属性的值

可使用 pkg property 命令查看映像的属性。

$ pkg property
PROPERTY                       VALUE
be-policy                      default
ca-path                        /etc/openssl/certs
check-certificate-revocation   False
flush-content-cache-on-success False
mirror-discovery               False
preferred-authority            solaris
publisher-search-order         ['solaris', 'isvpub']
send-uuid                      True
signature-policy               verify
signature-required-names       []
trust-anchor-directory         etc/certs/CA
use-system-repo                False

可使用 pkg set-publisher 命令选项设置 preferred-authoritypublisher-search-order 属性。请参见添加、修改或删除软件包发布者

设置映像属性的值

可使用 pkg set-property 命令设置映像属性的值或添加并设置属性。

以下示例设置了 mirror-discovery 属性的值。

$ pfexec pkg set-property mirror-discovery True
$ pkg property -H mirror-discovery
mirror-discovery True

重置映像属性的值

可使用 pkg unset-property 命令将指定属性的值重置为这些属性的缺省值。

$ pfexec pkg unset-property mirror-discovery
$ pkg property -H mirror-discovery
mirror-discovery False