文章
服务器与存储管理
作者:Peter Dennis
2012 年 10 月发布
根据您当前的环境,主要有两种更新到 Oracle Solaris 11.1 的方法:
|
大多数安装了 Oracle Solaris 11 但没有 Oracle 支持协议的用户将使用 Oracle Solaris 版本信息库作为其配置的软件包信息库,如下面使用 pkg publisher 命令所示:
# pkg publisher PUBLISHER TYPE STATUS URI solaris origin online http://pkg.oracle.com/solaris/release/
具有 Oracle 支持协议的客户将使用 Oracle Solaris 支持信息库作为其配置的软件包信息库,如下所示:
# pkg publisher PUBLISHER TYPE STATUS URI solaris origin online https://pkg.oracle.com/solaris/support
更新到 Oracle Solaris 11.1 是一个多步骤过程,因为某些系统软件包必须先更新,然后才能成功更新系统软件包的其余部分。
--accept 选项的 pkg update 更新一小部分系统软件包,然后重新启动:# pkg update --accept # reboot
pkg:/system/ldoms/ldomsmanager 软件包,如下所示:# for z in `zoneadm list`; do zlogin $z pkg uninstall ldomsmanager; done
# pkg update pkg:/package/pkg
为了进行更新,我们使用 pkg update 的 --accept 标志同意和接受要更新的许可条款。我们还使用 --be-name 标志为要创建的引导环境提供新名称。
# pkg update --be-name s11.1ga --accept # reboot
注:对于不能直接连接到 Oracle 托管软件包信息库的系统,需要下载 Oracle Solaris 11.1 升级前库映像,其中包含在更新到 Oracle Solaris 11.1 之前需要更新的软件包。该 ISO 映像包含一个自述文件,其中描述了构造信息库和更新到 Oracle Solaris 11.1 所必需的步骤。
对于签定 Oracle 支持合同的客户,Oracle Solaris 11 发布流程已更改,这样在 Oracle Solaris 11 下一次更新的最终预发布阶段不会出现错误修复发布中断。这有助于加快 Oracle Solaris 11 当前发布版本的关键客户错误修复的发布速度。此增强的一个后果是更新版本本身可能不包含上一版本的最终支持信息库更新 (SRU) 中发布的少量错误修复。
例如,Oracle Solaris 11 11/11 的最终 SRU 是 SRU#12.4 和 SRU#13.4。SRU#12.4 和 SRU#13.4 中的某些软件包的版本高于 Oracle Solaris 11.1 中的版本。为了保留这些错误修复,版本差异将阻止更新到 Oracle Solaris 11.1 版。此外,如果要直接迁移到 Oracle Solaris 11.1 版,还要删除核心操作系统中的一些修复。为方便起见,“SRU#12.4 中修复的错误”部分列出了这些错误号。
初始 Oracle Solaris 11.1 SRU 中解决了以上 SRU 提供的所有错误修复。该 SRU 包含在支持信息库中。
所需的更新步骤可能因某些系统运行不同的 SRU 版本而不同。为了查明系统上是何种 SRU,可以对 pkg:/entire 软件包运行 pkg info 命令,如清单 1 所示:
# pkg info entire
Name: entire
Summary: entire incorporation including Support Repository Update (Oracle Solaris 11 11/11 SRU 10.5).
Description: This package constrains system package versions to the same
build. WARNING: Proper system update and correct package
selection depend on the presence of this incorporation.
Removing this package will result in an unsupported system. For
more information see https://support.oracle.com/CSP/main/article
?cmd=show&type=NOT&doctype=REFERENCE&id=1372094.1.
Category: Meta Packages/Incorporations
State: Installed
Publisher: solaris
Version: 0.5.11 (Oracle Solaris 11 SRU 10.5)
Build Release: 5.11
Branch: 0.175.0.10.0.5.0
Packaging Date: Fri Aug 03 18:26:27 2012
Size: 5.45 kB
FMRI: pkg://solaris/entire@0.5.11,5.11-0.175.0.10.0.5.0:20120803T182627Z
清单 1.确定系统的 SRU
不希望缺失后面 Oracle Solaris 11 11/11 SRU 版本中任何错误修复的客户应更新到 Oracle Solaris 11.1 SRU#1.4,如下面所述。
pkg:/system/ldoms/ldomsmanager 软件包,如下所示: # for z in `zoneadm list`; do zlogin $z pkg uninstall ldomsmanager; done
# pkg update pkg:/package/pkg
由于某些软件包中的早期错误,系统上这些软件包的安装可能不正确。SRU#10.5 已经解决了这些问题,并提供了删除此类有问题的软件包的机制。上述命令执行此操作,它会报告正在删除某些软件包(如果安装了此类软件包)。以下是它将删除的软件包:
| X86 | pkg://solaris/ldoms/ldoms-incorporation |
| SPARC | pkg://solaris/consolidation/nvidia/nvidia-incorporation pkg://solaris/driver/network/ethernet/elxl pkg://solaris/driver/network/ethernet/pcn pkg://solaris/driver/network/ethernet/dnet pkg://solaris/driver/network/ethernet/iprb |
为了进行更新,我们使用 pkg update 的 --accept 标志同意和接受要更新的许可条款。我们还使用 --be-name 标志为要创建的引导环境提供新名称。
# pkg update --be-name s11.1ga --accept # reboot
在这种情况下,可以选择更新到 SRU#10.5 或更高的 SRU 版本。但要记住,最新的 SRU(12 和 13)包含 Oracle Solaris 11.1 中针对该版本的首个 SRU 之后才存在的修复。
运行以下命令将系统更新到 SRU#10.5:
# pkg update --accept entire@0.5.11,5.11-0.175.0.10 # reboot
或者,运行以下命令将系统更新到最新的 SRU:
# pkg update --accept # reboot
随着 Oracle Solaris 11.1 SRU#1.4 的发布,只需运行以下命令即可更新系统:
# pkg update --be-name s11.1sru --accept # reboot
然后,系统将运行含 SRU#1.4 的 Oracle Solaris 11.1。
如果只需要更新到 Oracle Solaris 11.1 而无需 SRU,则需要执行以下步骤。
如果安装了以下任一软件包,则需要删除它们并在更新到 Oracle Solaris 11.1 后重新添加,或者将其与系统上的约束解除关联(称为解锁),如以下步骤所述。
pkg://solaris/network/dns/bind pkg://solaris/service/network/dns/bind pkg://solaris/mail/fetchmail
# pkg uninstall pkg://solaris/network/dns/bind # pkg uninstall pkg://solaris/service/network/dns/bind # pkg uninstall pkg://solaris/mail/fetchmail
注意,通过在一行上指定软件包,可以将上述命令合并成一步:
# pkg uninstall pkg://solaris/network/dns/bind \ pkg://solaris/service/network/dns/bind \ pkg://solaris/mail/fetchmail
如果系统上安装了任何 Oracle Solaris 区域,则需要在每个区域中卸载软件包,如下所示:
# for z in `zoneadm list`; do zlogin $z pkg uninstall pkg://solaris/network/dns/bind; done
# pkg change-facet facet.version-lock.mail/fetchmail=false # pkg change-facet facet.version-lock.service/network/dns/bind=false # pkg change-facet facet.version-lock.network/dns/bind=false
注意,通过在一行上指定软件包,可以将上述命令合并成一步:
# pkg change-facet facet.version-lock.mail/fetchmail=false \ facet.version-lock.service/network/dns/bind=false \ facet.version-lock.network/dns/bind=false
需要在每个经过配置的、安装了软件包的区域中执行上述命令。
删除软件包或解除其锁定之后,即可执行系统更新或重新启动。
# pkg update --be-name s11.1ga --accept # reboot
pkg install 命令重新安装这些软件包:# pkg install pkg://solaris/service/network/dns/bind # pkg install pkg://solaris/mail/fetchmail
由于软件包依赖关系,上面的第一个命令还将安装 pkg://solaris/network/dns/bind。
# pkg update # pkg change-facet facet.version-lock.mail/fetchmail=true # pkg change-facet facet.version-lock.service/network/dns/bind=true # pkg change-facet facet.version-lock.network/dns/bind=true
注意,通过在一行上指定软件包,可以将上述命令合并成一步:
# pkg change-facet facet.version-lock.mail/fetchmail=true \ facet.version-lock.service/network/dns/bind=true \ facet.version-lock.network/dns/bind=true
重新锁定软件包的操作将根据需要更新软件包。
以下是 SRU#12.4 中已经解决但在 Oracle Solaris 11.1 中直到 SRU#1 才解决的错误修复列表。
内核修复:
7071362 tcp_icmp_source_quench and other tunables may no longer be field modifiable 7181137 sol_umad should allow userland MAD operations in NGZs 7196540 After 7174929 integration 0.9.0 is shown for first disk in second RAID volume
其他软件修复:
7166132 vim should be able to run its test suite 7190213 libibmad and associated files need to be delivered in an NGZ 7191495 mkisofs install is incomplete 7195687 Update fetchmail to version 6.3.22 7195704 Problem with utility/fetchmail 7196234 Problem with network/dns 7197223 vim shows high CPU usage when editing dtrace script with syntax highlighting enabled
Peter Dennis 是 Oracle Solaris Revenue Product Engineering 小组的首席工程师。他曾从事多项技术工作:文件系统、卷管理和备份、集群和最终用户通用工具。目前他是 Oracle Solaris 11 Update 版本的技术负责人。
| 修订版 1.2,2012 年 11 月 30 日 |