跳过导航链接 | |
退出打印视图 | |
![]() |
升级到 Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (简体中文) |
2012 年 11 月
介绍如何将系统升级到 Oracle Solaris 11.1
本文详细说明了使用映像包管理系统 (Image Packaging System, IPS) 这一 Oracle Solaris 功能将 Oracle Solaris 11 11/11 系统升级到 Oracle Solaris 11.1 所需的步骤。
将系统升级到 Oracle Solaris 11.1 主要有两种方法。
使用 Oracle Solaris support 系统信息库(适用于具备 Oracle 支持协议的客户)
使用 Oracle Solaris release 系统信息库(适用于没有 Oracle 支持协议的客户)
具备 Oracle 支持协议的客户可以使用 Oracle Solaris support 系统信息库作为其配置的软件包系统信息库。如果在使用 support 系统信息库,软件包发布者定义应类似于以下内容:
% pkg publisher PUBLISHER TYPE STATUS URI solaris origin online https://pkg.oracle.com/solaris/support
Oracle Solaris 11 的发布过程做了更改,以加快关键错误修复的发布。改为此新过程的一个后果是,更新可能不包含前一发行版的 Support Repository Update (SRU) 中发布的某些错误修复。
例如,Oracle Solaris 11 11/11 的最新 SRU 是 SRU#12.4。SRU#12.4 中某些软件包的版本号高于 Oracle Solaris 11.1 发行版中的版本号。为了保留这些错误修复,版本差异会阻止系统升级到 Oracle Solaris 11.1 发行版。如果升级到 Oracle Solaris 11.1 发行版的过程未因版本号差异受阻,SRU 中的某些修复将被删除。为方便起见,高版本 SRU 中修复的错误中列出了这些错误编号。
有关说明,请参见将具备支持协议的系统升级到 Oracle Solaris 11.1。
Oracle Solaris 11.1 发布了 SRU 后,安装 11.1 发行版以及最新的 SRU 的过程非常简单。有关说明,请参见如何将系统升级到具有最新 SRU的 Oracle Solaris 11.1。
安装了 Oracle Solaris 11 但没有 Oracle 支持协议的用户可以使用 Oracle Solaris release 系统信息库作为其配置的软件包系统信息库。如果在使用 release 系统信息库,软件包发布者定义应类似于以下内容:
% pkg publisher PUBLISHER TYPE STATUS URI solaris origin online http://pkg.oracle.com/solaris/release/
有关说明,请参见如何使用 Oracle Solaris Release 系统信息库将系统升级到 Oracle Solaris 11.1。
从 Oracle Solaris 10 转换到 Oracle Solaris 11 或 11.1 没有现成可用的升级方法或工具。必须执行 Oracle Solaris 11 全新安装,或将 Oracle Solaris 10 OS 实例或区域迁移到 Oracle Solaris 11 系统。有关更多信息,请参阅《从 Oracle Solaris 10 转换到 Oracle Solaris 11》。
升级全局区域时,系统中的所有区域都应自动升级。务必遵循以下过程中提到的有关处理特定软件包的特殊说明。
通常,在升级过程中不会触及第三方软件包。仅当第三方服务与 OS 共享配置文件,或其文件安装在升级过程要覆盖的目录中时,升级过程才会影响第三方服务及其提供的软件。
所需步骤可能会因系统运行的 SRU 版本不同而有所不同。首先,遵循如何确定系统运行的 SRU中的说明操作。根据系统运行的 SRU,执行以下过程之一:
注 - 上述每一过程所用的时间取决于许多因素,包括系统和网络资源。
在本例中,安装的是 SRU#10.5。
% 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 Oracle Solaris 11 11/11 显示的软件包信息
如果系统安装了 Oracle Solaris 11 11/11 且未安装任何 SRU,软件包信息类似于:
# pkg info entire Name: entire Summary: Incorporation to lock all system packages to the same build 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. Category: Meta Packages/Incorporations State: Installed Publisher: solaris Version: 0.5.11 Build Release: 5.11 Branch: 0.175.0.0.0.2.0 Packaging Date: October 20, 2011 02:38:22 PM Size: 5.45 kB FMRI: pkg://solaris/entire@0.5.11,5.11-0.175.0.0.0.2.0:20111020T143822Z
可以选择更新到 SRU#10.5 或更高的 SRU 发行版。请注意,从 SRU#12.4 起的高版本 SRU 具有 Oracle Solaris 11.1 没有的某些特定修复,在推出第一个 Oracle Solaris 11.1 SRU 后才会包含这些修复。
开始之前
确定安装的 Solaris 11 SRU。有关说明,请参见如何确定系统运行的 SRU。
这些命令将创建新的引导环境。
要更新到 SRU#10.5,请使用以下命令:
# pkg update --accept entire@0.5.11,5.11-0.175.0.10
要更新到最新的 SRU,请使用以下命令:
# pkg update --accept
# reboot
开始之前
确认安装了 SRU#10.5 或 SRU#11.4。有关说明,请参见如何确定系统运行的 SRU。
对于任何安装了一个或多个区域的基于 SPARC 的系统,必须执行一个额外步骤。对于系统中安装的每个区域,按如下所示删除 pkg:/system/ldoms/ldomsmanager 软件包:
# for z in `zoneadm list`; do zlogin $z pkg uninstall ldomsmanager; done
# pkg update pkg:/package/pkg
系统中可能错误地安装了某些有问题的软件包(这些软件包中存在早期错误)。此命令将删除以下有问题的软件包(如果安装了这些软件包):
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 --be-name s11.1ga --accept
# reboot
如果安装了以下任何一个软件包,必须删除这些软件包并在更新到 Oracle Solaris 11.1 后再将其添加回来,或将这些软件包与系统中的约束取消关联(称为解锁),如以下过程中所述。
pkg://solaris/network/dns/bind
pkg://solaris/service/network/dns/bind
pkg://solaris/mail/fetchmail
对于 SRU#13.4,还必须删除或解锁 pkg://solaris/networkdhcp/isc-dhcp 软件包。
如果当前未使用以下软件包,可以将其删除。如果有依赖于这些软件包的相关项,必须解锁这些软件包。仅当服务器上安装了所列的三个软件包中的一个或多个时,执行此步骤。
要删除这些软件包,请运行此命令:
# pkg uninstall pkg://solaris/network/dns/bind pkg://solaris/service/network/dns/bind\ pkg://solaris/mail/fetchmail
对于 SRU#13.4,还需要删除 pkg://solaris/network/dhcp/isc-dhcp 。
如果系统中安装了区域,还必须在每个区域中卸载这些软件包。例如:
# 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
对于 SRU#13.4,还需要解锁 pkg://solaris/network/dhcp/isc-dhcp 。
注 - 为了节省时间,可以将这些命令合并成一个命令:
# 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 pkg:/package/pkg
# pkg update --be-name s11.1ga --accept
# reboot
如果在步骤 2 中删除了软件包,现在重新安装它们。
# pkg install pkg://solaris/service/network/dns/bind # pkg install pkg://solaris/mail/fetchmail
注 - 第一条命令安装 pkg://solaris/network/dns/bind,因此没必要安装该软件包。
对于 SRU#13.4,还需要重新安装 pkg://solaris/network/dhcp/isc-dhcp 。
如果在步骤 2 中解锁了软件包,在 Oracle Solaris 11.1 的第一个 SRU 发布时,锁定这些软件包。
# 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
重新锁定软件包将根据需要对其进行更新。
对于 SRU#13.4,还需要锁定 pkg://solaris/network/dhcp/isc-dhcp 。
注 - 为了节省时间,可以将这些命令合并成一个命令:
# pkg change-facet facet.version-lock.mail/fetchmil=true \ facet.version-lock.service.network/dns/bind=true \ facet.version-lock.network/dns/bind=true
Solaris 11.1 的第一个 SRU 发布后,请使用以下过程升级到具有最新 SRU 的 Oracle Solaris 11.1。
开始之前
确定安装的 Solaris 11 SRU。有关说明,请参见如何确定系统运行的 SRU。
仅在 SRU 低于 10.5 的系统上执行以下步骤。
此命令将 OS 更新到具有最新 SRU 的 Oracle Solaris 11。
# pkg update --accept
# reboot
# pkg update --accept --be-name s11.1sru
# reboot
下面列出了 SRU#12.4 中已经解决、但 Oracle Solaris 11.1 中未解决的错误,在发布 Oracle Solaris 11.1 的 SRU#1 后才会解决这些错误。
内核修复:
7071362 tcp_icmp_source_quench 和其他可调参数不再是字段可修改的
7181137 sol_umad 应允许在 NGZ 中执行用户级 MAD 操作
7196540 应用 7174929 后,第二个 RAID 卷中的第一个磁盘显示集成 0.9.0
其他软件修复:
7166132 vim 应能运行其测试套件
7190213 需要在 NGZ 中提供 libibmad 和关联的文件
7191495 mkisofs 安装不完整
7195687 将 fetchmail 更新到版本 6.3.2
7195704 与实用程序/fetchmail 有关的问题
7196234 与网络/dns 有关的问题
7197223 在启用了语法突出显示的情况下编辑 dtrace 脚本时,vim 会显示很高的 CPU 使用率
下面列出了 SRU#13.4 中已经解决、但 Oracle Solaris 11.1 中未解决的错误,在发布 Oracle Solaris 11.1 的 SRU#1 后才会解决这些错误。
15805793 SUNBT7186501-11.2 net-snmp 在执行 net_cpu_arch_load 时崩溃
15494128 断言失败:zvol_get_stats(os, nv) == 0(遇到 i/o 错误时)
15797349 与 shell/korn93 有关的问题
15800889 s11:在非全局区域中执行 zonestat 时,发生核心转储
15816060 将 zoneinfo 时区更新到 2012f (Fiji)
15797515 SUNBT7176189-12.0 nfs4_write() 在取消挂载操作过程中会导致过多的页面变脏
如果没有支持协议或未安装任何 SRU,请使用以下过程升级 Oracle Solaris 11 11/11 系统。
注 - 上述过程所用的时间取决于许多因素,包括系统和网络资源。
升级 Oracle Solaris 11 11/11 涉及多个步骤,因为必须先更新某些系统软件包,才能成功地更新其余的系统软件包。
此命令将创建新的引导环境。
# pkg update --accept
注 - 对于不能直接连接到 Oracle 托管的软件包系统信息库的系统,请下载 Oracle Solaris 11.1 Pre-Upgrade Repository Image。该映像包含更新到 Oracle Solaris 11.1 之前必须更新的软件包。有关更多信息,请参见 http://www.oracle.com/technetwork/server-storage/solaris11/downloads/index.htm。该 ISO 映像包含一个自述文件,该文件介绍了构造系统信息库和更新到 Oracle Solaris 11.1 所需的步骤。
# reboot
对于任何安装了一个或多个区域的基于 SPARC 的系统,必须执行一个额外步骤。对于系统中安装的每个区域,按如下所示删除 pkg:/system/ldoms/ldomsmanager 软件包:
# for z in `zoneadm list`; do zlogin $z pkg uninstall ldomsmanager; done
# pkg update pkg:/package/pkg
# pkg update --be-name s11.1ga --accept
# reboot