有关从 Solaris 10 8/07 发行版开始的升级支持的最新信息,请参见Solaris 发行版在升级支持方面的变化。
本节介绍升级错误。在升级到 Solaris 10 OS 时可能发生某些升级错误。完成升级后可能发生其他升级错误。
从 Solaris 10 Hardware 2 发行版升级至当前 Solaris 10 8/07 发行版时会发生此错误。
在 Solaris 10 Hardware 2 发行版中,适用于任何名称服务(如 NIS、NIS+、 FILES 或 LDAP)的 name_service.xml 文件如下所示:
# ls -l name_service.xml lrwxrwxrwx 1 root root 10 Apr 10 16:26 name_service.xml -> ns_files.xml |
如果名称服务为 NIS,则 name_service.xml 文件会链接到 ns_files.xml。但是,ns_files.xml 的内容与 ns_nis.xml 的内容相同。
# cat /etc/release Solaris 10 3/05 HW2 s10s_hw2wos_05 SPARC Copyright 2005 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms. Assembled 26 September 2005 # cd /var/svc/profile # ls -l name_service.xml ns_files.xml ns_nis.xml lrwxrwxrwx 1 root other 12 May 21 04:06 name_service.xml -> ns_files.xml -r--r--r-- 1 root sys 779 May 21 04:25 ns_files.xml -r--r--r-- 1 root sys 779 Jan 21 2005 ns_nis.xml # # diff ns_files.xml ns_nis.xml # diff name_service.xml ns_nis.xml |
在以上输出中,ns_nis.xml 和 ns_files.xml 文件是相同的。这意味着 name_service.xml 文件符号链接到错误的名称服务文件。name_service.xml 文件链接到 ns_files.xml,而该文件应该链接到 ns_nis.xml。
只有在 name_service.xml 不是链接文件时,对 CR 6411084 的修复(SUNWcsr 安装或安装后脚本)才能创建正确的链接。如果 name_service.xml 已经是一个符号链接文件,则与在 Solaris 10 Hardware 2 发行版中一样,对 CR 6411084 的修复将无法发挥效用。
从 Solaris 10 Hardware 2 升级到当前 Solaris 10 8/07 发行版后,以下消息将显示在控制台上,或记录到消息文件中:
Oct 23 12:18:45 vt2000a automount[301]: [ID 366266 daemon.error] can't read nis map auto_master: can't communicate with ypbind - retrying |
此外,/network/nis/client:default 服务会处于脱机状态。
解决方法:请选择以下解决方法之一:
解决方法 1:在升级之前,删除 /var/svc/profile/name_service.xml 文件。
解决方法 2:在升级之后,根据名称服务,将 /var/svc/profile/name_service.xml 链接更改为正确的 ns_<xxx>.xml 文件。
如果系统已安装了非全局区域,但该非全局区域从未被引导或未准备就绪,则会导致系统无法正确升级。不会显示任何错误消息。
解决方法:
如果发现这样的区域,应在开始升级之前,先使区域准备就绪,然后停止。例如:
global# zoneadm -z myzone ready ; zoneadm -z myzone halt |
将安装了非全局区域的 Solaris 10 3/05 系统或 Solaris 10 1/06 系统升级到 Solaris 10 6/06 或 Solaris 10 8/07 发行版,可能会导致在非全局区域中,挂载本地文件系统的 SMF 服务失败。因此,非全局区域中的其他服务可能无法启动。
将安装了非全局区域的 Solaris 10 系统升级到 Solaris 10 6/06 或 Solaris 10 8/07 发行版之后,服务可能处于维护状态。例如:
# zlogin myzone svcs -x svc:/system/filesystem/local:default (local file system mounts) State: maintenance since Wed May 24 13:18:06 2006 Reason: Start method exited with $SMF_EXIT_ERR_FATAL. See: http://sun.com/msg/SMF-8000-KS See: /var/svc/log/system-filesystem-local:default.log Impact: 18 dependent services are not running. (Use -v for list.) |
解决方法:
从全局区域重新引导非全局区域。例如:
global# zoneadm -z myzone reboot |
在此 Solaris 10 发行版中,Solaris Volume Manager 使用新格式显示设备 ID 输出。在磁盘集中引入设备 ID 支持的 Solaris 9 9/04 OS 不识别新格式。在从 Solaris 9 9/04 升级到 Solaris 10 OS 发行版时,在 Solaris Volume Manager 配置中未更新与现有磁盘集关联的设备 ID。如果需要返回到 Solaris 9 9/04 OS,则升级后对磁盘集进行的配置更改可能对 Solaris 9 9/04 OS 不可用。有关更多信息,请参见《Solaris Volume Manager 管理指南》中的第 25 章 “对 Solaris Volume Manager 进行疑难解答(任务)”。
添加驱动程序更新程序 (Driver Updates, DU)(也称为安装时更新程序 (Install Time Updates, ITU))时,安装 Solaris 10 OS 可能会失败。使用 GUI 安装 Solaris 10 软件时会发生此错误。将显示以下消息:
Unable to run cmd: /usr/sbin/sysidput |
解决方法:使用下列解决方法之一。
使用 Solaris Live Upgrade 创建引导环境时,系统中的某个引导环境将会包含 GRand Unified Bootloader (GRUB) 菜单。无法使用 ludelete 命令删除该引导环境。
如果尝试删除该引导环境,则会显示以下错误消息:
ERROR: The boot environment name-of-boot-environment contains the GRUB menu. ERROR: You are not allowed to delete this BE. Unable to delete boot environment. |
解决方法:使用 lumake 命令或 luupgrade 命令来重新使用该引导环境。使包含 GRUB 菜单的引导环境成为最后一个要删除的引导环境。
Solaris Live Upgrade 不允许删除最后一个引导环境。也不能删除包含 GRUB 菜单的引导环境。因此,如果最后一个引导环境还包含 GRUB 菜单,如有必要则可删除所有其他引导环境。
如果使用 Solaris Live Upgrade 从 Solaris 8 2/02 发行版升级到 Solaris 10 8/07 发行版,则无法删除 Agilent 光纤通道 HBA 驱动程序软件包 (HPFC)。upgrade_log 文件中会记录以下错误消息。
Removing package HPFC: Modifying /a/kernel/drv/sd.conf cmdexec: ERROR: unable to open /a/var/sadm/pkg/HPFC/save/sed/kernel/drv/sd.conf pkgrm: ERROR: class action script did not complete successfully Removal of partially failed. pkgrm return code = 2 The upgrade succeeds, but two instances of the HPFC package are included on the system. |
解决方法:执行以下步骤。
成为超级用户。
删除两个 HPFC 软件包实例。
# pkgrm HPFC # pkgrm HPFC.2 |
将 Solaris 10 8/07 OS DVD 插入 DVD-ROM 驱动器中。
转到包含 HPFC 软件包的目录。
# cd /cdrom/Solaris_10/Product |
将 HPFC 软件包添加到系统。
# pkgadd -d `pwd` HPFC |
当按照以下方式使用 Solaris Live Upgrade 软件时,将不会显示升级进度指示条:
使用 Solaris 10 8/07 CD 介质升级 OS。
将 luupgrade 命令与以下选项一起使用以升级引导环境:
-i 从 CD 介质安装。
-O "-nodisplay -noconsole" 以文本模式运行第二张 CD 上的安装程序并且无需用户交互
从以下发行版升级到 Solaris 10 8/07 软件:
Solaris 8 发行版
Solaris 9 发行版
Solaris 10 发行版
例如,如果运行以下命令,则应在显示以下输出后显示进度指示条:
Running installer on BE s10u1. |
但是,该指示条未显示。
# luupgrade -i -n s10u1 -s /net/installsrv/export/s10u1 -O "-nodisplay -noconsole" Validating the contents of the media /net/installsvr/export/s10u1. The media is a standard Solaris media. The media contains a standard Solaris installer. The media contains Solaris 3 version 10. Mounting BE s10u1. Running installer on BE s10u1. |
不会显示任何错误消息。
解决方法:使用 prstat 命令。使用此命令可以在安装期间添加软件包时观察进度。
对于运行 Solaris 9 发行版并已安装建议的修补程序簇的系统,升级到 Solaris 10 OS 仅能获得部分成功。此问题会影响运行下列发行版并已安装 Solaris 9 的建议修补程序簇的系统。
Solaris 9 发行版
Solaris 9 9/02 发行版
Solaris 9 12/02 发行版
Solaris 9 4/03 发行版
Solaris 9 8/03 发行版
Solaris 9 12/03 发行版
Solaris 9 4/04 发行版
在升级到 Solaris 10 发行版时,未能从系统成功删除 SUNWcti2x 软件包。
解决方法:请选择以下解决方法之一。
要避免此问题,请在升级到 Solaris 10 OS 之前对系统应用 Patch ID 117426-03 或更高版本。
要下载此修补程序,请访问 http://sunsolve.sun.com。
如果在升级期间遇到此问题,请执行以下步骤。
在文本编辑器中,注释掉 /var/sadm/pkg/SUNWcti2x/install/preremove 文件中的以下行。
rem_drv -b ${BASEDIR} sc_nct || EXIT=1 |
删除 SUNWcti2x 软件包。
# pkgrm SUNWcti2x |
如果使用 Solaris Live Upgrade 从 Solaris 8 或 Solaris 9 发行版升级到 Solaris 10 OS,不会删除过时的卸载程序。早期 OS 中的这些卸载程序仍然位于系统的 /var/sadm/prod 目录中。
下列是未删除的过时卸载程序。
uninstall_Alternate_Pathing_2_3_1.class uninstall_CDRW_1_1.class o uninstall_CDRW_1_0.class uninstall_Bonus_Localization_-_Catalan_CDE_Desktop.class uninstall_Bonus_Localization_-_Polish_CDE_Desktop.class uninstall_Bonus_Localizations_-_Russian_CDE_Desktop.class uninstall_Capacity_on_Demand_1_0.class uninstall_Java3D_1_3_1.class uninstall_Java3D_1_3.class uninstall_Java3D_1_2_1_04.class uninstall_Java3D_1_2_1_03.class uninstall_Lights_Out_Management_2_0.class uninstall_Man_Page_Supplement.class uninstall_OpenGL_1_3.class uninstall_OpenGL_1_2_3.class uninstall_Netra_ct_Platform_1_0.class uninstall_Netra_t11xx_Alarms_2_0.class uninstall_Netscape_6_2_3.class uninstall_Netscape_6_2_1_Beta.class uninstall_PC_launcher_1_0_2.class uninstall_PC_launcher_1_0_1_PCfileviewer_1_0_1.class uninstall_RSC_2_2_2.class uninstall_RSC_2_2_1.class uninstall_RSC_2_2.class uninstall_ShowMeTV_1_3.class uninstall_Solaris_9_French_Localization.class uninstall_Solaris_9_German_Localization.class uninstall_Solaris_9_Hong_Kong_Traditional_Chinese_Localization.class uninstall_Solaris_9_Italian_Localization.class uninstall_Solaris_9_Japanese_Localization.class uninstall_Solaris_9_Korean_Localization.class uninstall_Solaris_9_Simplified_Chinese_Localization.class uninstall_Solaris_9_Spanish_Localization.class uninstall_Solaris_9_Swedish_Localization.class uninstall_Solaris_9_Traditional_Chinese_Localization.class uninstall_Solaris_On_Sun_Hardware_Documentation.class uninstall_Sun_Hardware_AnswerBook.class uninstall_SunATM_5_0.class uninstall_SunATM_5_1.class uninstall_SunFDDI_PCI_3_0.class uninstall_SunFDDI_SBus_7_0.class uninstall_Sun_Fire_880_FC-AL_Backplane_Firmware_1_0.class uninstall_Sun_Fire_B10n_Load_Balancing_Blade_1_1.class uninstall_SunForum_3_1.class uninstall_SunForum_3_2.class uninstall_SunHSI_PCI_3_0.class uninstall_SunHSI_SBus_3_0.class uninstall_SunScreen_3_2.class uninstall_SunVTS_5_1_PS6.class uninstall_SunVTS_5_1_PS5.class uninstall_SunVTS_5_1_PS4.class uninstall_SunVTS_5_1_PS3.class uninstall_SunVTS_5_1_PS2.class uninstall_SunVTS_5_1_PS1.class uninstall_SunVTS_5_0.class uninstall_System_Management_Services_1_4.class uninstall_System_Management_Services_1_3.class uninstall_System_Management_Services_1_2.class uninstall_System_Service_Processor_3_5.class uninstall_WBEM_DR_1_0.class uninstall_Web_Start_Wizards_SDK_3_0_2.class uninstall_Web_Start_Wizards_SDK_3_0_1.class uninstall_Web_Start_Wizards_SDK.class uninstall_XML_Libraries_2_4_12.class |
解决方法:升级系统后,手动删除 /var/sadm/prod 目录中过时的卸载程序。
此 Solaris 10 发行版引入对 pam_ldap 功能的更改。在升级到当前发行版时,现有 pam.conf 配置文件中的 pam_ldap 配置并未更新以反映这些更改。如果检测到 pam_ldap 配置,则升级结束时生成的 CLEANUP 文件包含下列通知:
/etc/pam.conf please examine/update the pam_ldap configuration because its functionality has changed, refer to pam_ldap(5) documentation for more information |
解决方法:升级后,检查 /etc/pam.conf。如果需要,手动修改此文件以便与 pam_ldap 的新功能兼容。这些修改涉及口令提示,如 use_first_pass 和 try_first_pass 选项以及口令更新。有关更新 pam.conf 的更多信息,请参阅 pam_ldap(5) 手册页和文档。
当使用带有 -i 选项的 Solaris Live Upgrade luupgrade(1M) 命令升级非启用的引导环境时,安装程序显示的某些语言的文本可能无法阅读。这是由于安装程序所要求的字体在当前引导环境上的旧版本中不存在而导致文本被破坏。
解决方法:请选择以下解决方法之一:
从 Solaris 8 软件升级到 Solaris 10 发行版时,删除 SUNWjxcft 软件包时会遇到问题。upgrade_log 文件中会记录以下错误消息:
Removing package SUNWjxcft: Can't open /a/usr/openwin/lib/locale/ja/X11/fonts/TTbitmaps/fonts.upr Can't open /a/usr/openwin/lib/locale/ja/X11/fonts/TTbitmaps/fonts.scale Can't open /a/usr/openwin/lib/locale/ja/X11/fonts/TTbitmaps/fonts.alias Can't open /a/usr/openwin/lib/locale/ja/X11/fonts/TT/fonts.upr Can't open /a/usr/openwin/lib/locale/ja/X11/fonts/TT/fonts.scale Can't open /a/usr/openwin/lib/locale/ja/X11/fonts/TT/fonts.alias Removal of <SUNWjxcft> was successful |
解决方法:忽略错误消息。
如果在从 /etc/init.d/sshd 守护进程中运行第三方安全 shell(例如 OpenSSH)的系统上升级到 Solaris 10 发行版,升级会禁用现有的安全 shell 守护进程。升级期间,Solaris 10 软件将覆写 /etc/init.d/sshd 的内容。
解决方法:请选择以下解决方法之一:
如果不希望在系统上安装安全 shell 协议服务器程序,则在升级过程中请不要安装 SUNWsshdr 和 SUNWsshdu 软件包。
如果不希望系统上有安全 Shell 协议服务器或客户机程序,升级时不要安装安全 Shell 簇 (SUNWCssh)。
如果升级到 Solaris 10 发行版时 /export 目录接近其容量极限,则 /export 的空间要求将会出现计算错误。升级过程将失败。如果安装了无盘客户机,或者在 /export 目录中安装了第三方软件,通常会发生这一问题。将显示以下消息:
WARNING: Insufficient space for the upgrade. |
解决方法:在升级之前,选择以下解决方法之一:
在完成升级之前临时重命名 /export 目录。
在完成升级前临时注释掉 /etc/vfstab 文件中的 /export 行。
如果 /export 是一个单独的文件系统,则在执行升级之前先卸载 /export。
如果您的系统当前支持使用 Solstice AdminSuiteTM 2.3 无盘客户机工具安装的无盘客户机,则需要执行以下两个步骤:
删除所有与服务器具有相同 Solaris 版本和体系结构的现有无盘客户机。
安装或升级到 Solaris 10 发行版。
有关具体说明,请参见《系统管理指南:基本管理》。
如果您试图在现有无盘客户机上安装 Solaris 10 软件,可能会显示以下错误消息:
The Solaris Version (Solaris version-number) on slice <xxxxxxxx> cannot be upgraded. There is an unknown problem with the software configuration installed on this disk. |
在此错误消息中,version-number 指系统上当前运行的 Solaris 版本。<xxxxxxxx> 指运行此版本 Solaris 软件的片。