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

文档信息

前言

1.  映像包管理系统简介

2.  IPS 图形用户界面

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

4.  安装和更新软件包

5.  配置已安装的映像

配置发布者

显示发布者信息

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

将软件包锁定为指定版本

标记要免除的软件包

控制可选组件的安装

显示变量

更改变量

显示侧面

更改侧面

更新映像

配置映像和发布者属性

引导环境策略映像属性

签名软件包的属性

签名的软件包的映像属性

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

配置软件包签名属性

其他映像属性

设置映像属性

显示映像属性的值

设置映像属性的值

重置映像属性的值

创建映像

查看操作历史记录

控制可选组件的安装

软件可以具有可选组件和互斥组件。可选组件的示例包括语言环境和文档。互斥组件的示例包括 SPARC 或 x86 和调试或非调试二进制文件。在 IPS 中,可选组件称为侧面,互斥组件称为变量

侧面和变量是映像的特殊属性,无法在单个软件包上设置。要查看映像上设置的侧面和变量的当前值,请使用 pkg facetpkg variant 命令。要修改映像上设置的侧面和变量的值,请使用 pkg change-facetpkg change-variant 命令。请参见 pkg(1) 手册页和下面的示例。

侧面和变量指定为软件包操作中的标记。每个侧面和变量标记都有一个名称和值。单个操作可以具有多个侧面和变量标记。具有多个侧面和变量标记的组件有多种,例如供开发者使用的特定于体系结构的头文件,或仅用于 SPARC 全局区域的组件。

以下是变量标记的一个示例 variant.arch=sparc。以下是侧面标记的一个示例 facet.devel=true。引用侧面和变量时,通常不带前导字符串 facet.variant.

侧面为布尔型:只能设置为 true(启用)或 false(禁用)。缺省情况下,映像中的所有侧面都被视为 true。某一操作的侧面标记只能具有 true 值;其他值代表的行为不确定。映像上设置的侧面可以为完整侧面(如 doc.man)或模式(如 locale.*)。要禁用侧面名称空间的一部分,仅启用其中的几个侧面时,此方式很有用。例如,您可以禁用所有语言环境,然后仅启用一个或两个特定语言环境,如以下示例所示:

# pkg change-facet locale.*=false
[output about packages being updated]
# pkg change-facet locale.en_US=true
[output about packages being updated]

大多数变量可以具有任意数量的值。例如,arch 变量可以设置为 i386sparcppcarm 或分发支持的任何体系结构。(Oracle Solaris 中仅使用 i386sparc。)但 debug 变量例外。debug 变量只能设置为 truefalse;其他值的行为不确定。如果文件操作同时具有非调试和调试版本,则必须针对这两个版本明确设置适用的 debug 变量,如以下示例所示:

file group=sys mode=0644 overlay=allow owner=root \
  path=etc/motd pkg.csize=115 pkg.size=103 preserve=true \
  variant.debug.osnet=true

file group=sys mode=0644 overlay=allow owner=root \
  path=etc/motd pkg.csize=68 pkg.size=48 preserve=true \
  variant.debug.osnet=false 

要安装使用变量的软件包,必须在映像上设置变量值。archzone 变量由创建映像和安装其初始内容的程序设置。缺省情况下,debug.* 变量在映像中设置为 false

映像中设置的侧面和变量会影响是否安装特定操作。

您可以创建自己的侧面和变量标记。以下是 Oracle Solaris 中的常用标记。

变量名
可能值
variant.arch
sparc, i386
variant.opensolaris.zone
global, nonglobal
variant.debug.*
truefalse

以下列表描述了 Oracle Solaris 中使用的一小部分侧面标记:

facet.devel             facet.doc
facet.doc.html          facet.doc.info
facet.doc.man           facet.doc.pdf
facet.locale.de         facet.locale.en_GB
facet.locale.en_US      facet.locale.fr
facet.locale.ja_JP      facet.locale.zh_CN

可以显示在当前映像上设置的变量和侧面的值,并且可以更改当前映像中的变量和侧面。更改变量和侧面可能会更新大量软件包,并且可能需要新的 BE。在进行任何更改之前可使用 -nv 查看将执行哪些更改。

显示变量

可使用 pkg variant 命令显示设置的变量值。

/usr/bin/pkg variant [-H] [variant_spec ...] 
$ pkg variant
VARIANT                  VALUE
variant.opensolaris.zone global
variant.arch             i386
$ pkg variant -H variant.arch
variant.arch i386

更改变量

可使用 pkg change-variant 命令更改变量的值。

/usr/bin/pkg change-variant [-nvq] [-g path_or_uri ...] [--accept] [--licenses] [--no-be-activate] [--no-backup-be | --require-backup-be] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] variant_spec=instance ...

由于将影响大量软件包,因此以下命令将生成大量输出。请注意,缺省情况下不会创建新的 BE,而是创建备份 BE。有关何时创建 BE 的信息,请参见引导环境策略映像属性

使用 -n 选项可在不进行实际更改的情况下查看不使用 -n 执行操作时将更改的内容。

# pkg change-variant -nv --accept variant.debug.*=true
            Packages to update:       831
     Variants/Facets to change:         4
     Estimated space available: 112.19 GB
Estimated space to be consumed: 220.76 MB
       Create boot environment:        No
Create backup boot environment:       Yes
          Rebuild boot archive:        No
Changed variants/facets:
  variant variant.debug.*: true
    facet facet.locale.en_US: None
    facet facet.locale.en: None
    facet facet.locale.*: None
Changed packages:
solaris
  ...

显示侧面

可使用 pkg facet 命令显示设置的侧面值。

/usr/bin/pkg facet [-H] [facet_spec ...]
$ pkg facet
FACETS             VALUE
facet.locale.en_US True
facet.locale.en    True
facet.locale.*     False
$ pkg facet -H facet.locale.*
facet.locale.* False

更改侧面

可使用 pkg change-facet 命令更改侧面的值。

/usr/bin/pkg change-facet [-nvq] [-g path_or_uri ...] [--accept] [--licenses] [--no-be-activate] [--no-backup-be | --require-backup-be] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] facet_spec=[True|False|None] ...

使用 -n 选项可在不进行实际更改的情况下查看不使用 -n 执行操作时将更改的内容。

如果侧面值设置为 None,将从当前映像中删除侧面说明。

由于将影响大量软件包,因此以下命令将生成大量输出。请注意,使用的额外空间以千兆字节而非兆字节为单位。该操作可能需要很长时间,并导致该映像和软件包系统信息库之间发生大量网络通信流量。请注意,缺省情况下不会创建新的 BE,而是创建备份 BE。有关何时创建 BE 的信息,请参见引导环境策略映像属性

# pkg change-facet -nv facet.locale.*=true
            Packages to update:       831
     Variants/Facets to change:         1
     Estimated space available: 112.19 GB
Estimated space to be consumed:   2.96 GB
       Create boot environment:        No
Create backup boot environment:       Yes
          Rebuild boot archive:        No
Changed variants/facets:
    facet facet.locale.*: True
Changed packages:
solaris
  ...