Solaris 10 发行说明

第 3 章 Solaris 运行时问题

本章介绍已知的运行时问题。


注 –

在后续的 Solaris 10 发行版中修复了本章中的某些问题和错误。如果升级了 Solaris 软件,本章中的某些问题和错误可能不再适用。要查看哪些错误和问题不再适用于您特定的 Solaris 10 软件,请参阅附录 A,Solaris 10 操作系统中的集成错误表


公用桌面环境

Solaris 10 OS 中的下列错误适用于公用桌面环境 (CDE)。

x86: 支持 Intel 集成的 i810 和 i815 图形芯片组

Xorg X 窗口系统服务器不支持 Intel 集成的 i810 和 i815 图形芯片组。但是 Xsun 服务器支持这些芯片组。要配置 Xsun 服务器使用这些芯片组,请执行以下步骤:

  1. 成为超级用户。

  2. 运行程序以配置键盘、显示器和鼠标。


    # kdmconfig
    
  3. 在“介绍和 X 服务器选择”屏幕上,选择 Xsun 服务器。

    在“查看和编辑窗口系统配置”屏幕上,Intel i810/i815 (4MB) 应被自动选中并显示为视频设备。

  4. 如果没有自动选中 Intel i810 和 i815 芯片组,则选择“更改视频设备/监视器”选项。

  5. 在“视频设备选择”屏幕上,选择 Intel i810/i815 (4MB) 选项。

  6. 继续选择其他 kdmconfig 选项。

阿拉伯文本在 ar 语言环境中无法显示

如果您的 x86 系统使用 Xorg 作为缺省 Xserver,则 ar 语言环境中不显示阿拉伯字体 (iso7759-6)。如果正在使用 XSun 而不是 XOrg,则不发生此错误。

解决方法:执行以下步骤。

  1. 以超级用户身份编辑 /usr/dt/config/Xservers

    • 取消注释或添加以下行:


      :0 Local local_uid@console root /usr/openwin/bin/Xsun :0 
      -nobanner -defdepth 24
    • 注释掉以下行:


      :0 Local local_uid@console root /usr/X11/bin/Xorg :0
  2. 重新引导系统。

或者,可以登录到 ar_EG.UTF-8 或其他 UTF-8 语言环境。

在某些语言环境中使用 X 键盘扩展时 Compose 键序列可能不工作 (6219932)

在不使用键盘输入方法的语言环境(例如,C 语言环境)中某些 Compose 键序列可能不工作。如果在这些语言环境中使用下列系统配置之一,会发生该错误:

特别地,如果 Compose 键序列需要使用 Shift 键以键入这些字符中的一个字符,则在这些系统中该键序列不可用。

解决方法:选择下列选项之一:

x86: kdmconfig 命令不为 Xorg X 服务器创建系统标识配置文件 (6217442)

如果使用 JumpStart 安装方法,该进程可能使用系统标识配置 (sysidcfg) 文件。此文件用于为系统生成特定的 Xsun 配置文件。sysidcfg 文件的 Xsun 配置部分是由命令 kdmconfig -d filename 创建的。不过,在使用缺省 Xorg 服务器的系统上,该命令不创建包含任何 Xorg 配置信息的文件。因此,如果不执行某些其他准备步骤,不能在这些系统上使用 JumpStart 方法。

解决方法:在使用 Xorg 服务器的系统中使用 JumpStart 安装方法之前,请执行以下步骤。

  1. 准备要在系统上使用的特定 xorg.conf 文件。将此文件存储在 JumpStart 服务器的 JumpStart 目录中。

    有关创建 xorg.conf 文件和访问 Xorg 信息的说明,请参见 x86: 配置键盘、显示器和鼠标的程序在 X 服务器上不运行 (6178669)

  2. 创建将 xorg.conf 文件复制到要安装的系统上的 /etc/X11 目录中的完成脚本。例如,该脚本可能包含以下行:


    cp ${SI_CONFIG_DIR}/xorg.conf /etc/X11/Xorg.conf
  3. 在自定义 JumpStart 规则文件中,在与要安装的系统类型对应的规则项中包含完成脚本。

  4. 执行自定义 JumpStart 安装。

有关如何执行自定义 JumpStart 安装的说明,请参见《Solaris 10 安装指南:自定义 JumpStart 和高级安装》。第 4 章包含有关 JumpStart 规则文件的信息,而第 5 章包含有关完成脚本的一节。

x86: kdmconfig 配置 Xorg X 服务器的说明不完整 (6205881)

kdmconfig 程序中提供的配置 Xorg 服务器的说明不完整。该程序列出生成 xorg.conf 文件的基本说明。不过,某些相关信息不可用。例如,可以覆写 xorg.conf 文件中多个位置的选项:

所以,有关 Xorg 配置的更多信息,请参阅下列资源:

如果这些目录不在 man 路径中,请使用以下选项之一:

启动 Xorg 服务器的某些脚本使用 smf(5) 系统信息库属性。特别地,FMRI svc:/applications/x11/x11-server 用于存储 X 服务器属性。下列属性与 Xorg 服务器相关:

可通过成为超级用户和使用 svccfg 命令,设置和检索这些属性,如下例所示:


# svccfg 
svc:> select application/x11/x11-server 
svc:/application/x11/x11-server> listprop options/default_depth 
options/default_depth integer 24


 
svc:/application/x11/x11-server> setprop options/default_depth = 8 
svc:/application/x11/x11-server> listprop options/default_depth 
options/default_depth integer 8


 
svc:/application/x11/x11-server> end
#

x86: 配置键盘、显示器和鼠标的程序在 X 服务器上不运行 (6178669)

在此当前 Solaris 10 发行版中,缺省 X 服务器已从 Xsun 更改为 Xorg。配置键盘、显示器和鼠标的程序 (kdmconfig) 仅适用于 Xsun 服务器。该程序不影响 Xorg 服务器配置。因此,不能使用 kdmconfig 配置 Xorg 服务器。使用 kdmconfig 可以选择要使用的服务器,但使用 kdmconfig 只能配置 Xsun 服务器。

解决方法:要配置 Xorg 服务器,请执行以下步骤:

  1. 使用以下命令之一,创建 xorg.conf 文件:

    • /usr/X11/bin/Xorg -configure

    • /usr/X11/bin/xorgconfig

    • /usr/X11/bin/xorgcfg

  2. 编辑所得到的 xorg.conf 文件,做必要的更改。

  3. xorg.conf 文件移至 /etc/X11/xorg.conf

有关 Xorg 配置的更多详细信息,请参阅 /usr/X11/man 中的 Xorg 手册页。此目录不在缺省的手册页路径中。要查看这些手册页,请使用下列选项之一:


注 –

Xorg 命令行选项可以覆盖 xorg.conf 设置。有关与 Xorg 一起使用的选项的更多详细信息,请参见手册页。


SPARC: 某些 UTF-8 语言环境在公共桌面环境登录服务中不可用 (5042573)

登录服务器和公共桌面环境 (CDE) 登录服务启动时,缺少以下 UTF-8 语言环境:

解决方法:要使用这些语言环境,请登录到其他 UTF-8 语言环境。然后,在命令行设置 LC_ALL 变量。例如:

export LC_ALL=ar_SA.UTF-8


注 –

该解决方法仅适用于基于 SPARC 的系统。这些语言环境对于基于 x86 的系统不可用。


CDE 可移除介质自动运行功能被删除 (4634260)

CDE 桌面环境中的可移除介质自动运行功能暂时从 Solaris 10 软件中删除了。

解决方法:要使用 CD-ROM 或其他可移除介质卷的自动运行功能,必须执行以下操作之一:

Solaris PDASync 不能从桌面删除最后一项 (4260435)

当从桌面删除最后一项后,在同步手持设备时,该项会从手持设备恢复到桌面。例如,“日历”中的最后一个约会或“地址管理器”中的最后一个地址。

解决方法:在同步前从手持设备中手动删除最后一项。

Solaris PDASync 不支持与多字节国际化 PDA 设备之间的数据交换 (4263814)

如果您在 PDA 设备与 Solaris CDE 之间交换多字节数据,则数据在两种环境中都可能会被破坏。

解决方法:在运行Solaris PDASync 应用程序前,使用 PDA 备份实用程序备份个人计算机上的数据。如果意外地交换了多字节数据并破坏了该数据,请从备份中恢复 数据。

Documentation DVD

Solaris 10 发行版中存在以下 Documentation DVD 错误。

删除其他文档软件包必须有 SUNWsdocs 软件包

如果您删除了 SUNWsdocs 软件包,然后试图删除其他文档软件包,删除将会失败。这是由于安装任何文档集时都会一起安装 SUNWsdocs 软件包,并由其提供浏览器入口点。

解决方法:如果删除了 SUNWsdocs 软件包,请从文档介质重新安装 SUNWsdocs 软件包,然后删除其他文档软件包。

只能通过 C 语言环境来使用欧洲语言环境 PDF 文档 (4674475)

在运行当前 Solaris 10 发行版的系统上,无法在下列欧洲语言环境中访问 Solaris 10 Documentation DVD 上的 PDF 文档:

解决方法:请选择以下解决方法之一。

文件系统

下列文件系统错误适用于 Solaris 10 发行版。

从某些 Solaris Express 或 Solaris 10 发行版升级需要重新挂载文件系统

从 Solaris Express 11/04 或 Solaris 10 早期发行版升级 NFSv4 服务器后,您的程序可能遇到 EACCES 错误。另外,各目录可能错误地显示为空。

要避免这些错误,请卸载,然后重新挂载客户机文件系统。在卸载失败的情况下,可能需要通过使用 umount -f 强制卸载文件系统。另外,也可以重新引导客户机。

NFSv4 访问控制列表功能可能无法正常运行

如果使用不同的 Solaris 10 早期版本在网络中安装客户机和服务器,则 NFSv4 访问控制列表 (ACL) 功能可能无法正常运行。使用这些功能的受影响的 ACL 功能和命令行实用程序如下所示:

有关这些功能和实用程序的更多信息,请参见它们各自的手册页。

例如,在包含下列配置的网络中可能观察到错误:

下表说明对于不同的 Solaris 10 发行版,客户机-服务器配置中的 ACL 功能的结果。

操作 

客户机 S10 OS 

服务器 S10 OS 

结果 

获取 ACL 

S10 Beta 

S10 OS 

创建 ACL * 

获取 ACL 

S10 OS 

S10 Beta 

正常运行 

设置 ACL 

S10 Beta 

S10 OS 

正常运行 

设置 ACL 

S10 OS 

S10 Beta 

错误:EOPNOTSUP 

解决方法:要使 NFSv4 ACL 功能正常运行,请在服务器和客户机上完全安装 Solaris 10 OS。

Solaris NFSv4 客户机与 NFSv4 服务器之间的访问问题

在当前 Solaris 10 版本中,NFSv4 访问控制列表 (ACL) 的 Solaris 实现现在与 RFC 3530 规范兼容。不过,在使用 Solaris 10 Beta 2 或 Beta 1 版本的 NFSv4 客户机上发生错误。这些客户机不能在使用当前 Solaris 10 发行版的 NFSv4 服务器中创建文件。将显示以下错误消息:


NFS getacl failed for server_name: error 9 (RPC: Program/version mismatch)

解决方法:无。

在大于 1 TB 的设备上系统故障转储失败 (6214480)

系统在大小大于或等于 1 TB 的分区上不能生成转储。如果系统中存在此类设备,则在系统引导后,在发生系统紧急情况后可能发生下列问题:

解决方法:将系统的转储设备大小配置为小于 1 TB。

使用 smosservice 命令添加 OS 服务导致出现磁盘空间不足的消息 (5073840)

如果使用 smosservice 命令将 OS 服务添加到 UFS 文件系统,会显示没有足够可用磁盘空间的消息。此错误特定于贴有 EFI 标签的磁盘上的 UFS 文件系统。

解决方法:完成以下解决方法。

  1. 应用 SMI VTOC 磁盘标签。

  2. 重新创建文件系统。

  3. 重新运行 smosservice 命令。

硬件相关问题和错误

下列硬件相关的问题和错误适用于 Solaris 10 发行版。

SPARC: Solaris 10 OS 不支持 Sun Crypto Accelerator 4000 卡版本 1.0 和 1.1

Solaris 10 OS 提供新的密码学框架。不过,Sun Crypto Accelerator 4000 卡版本为 1.0 和 1.1 的软件和固件不使用此框架。因此,Solaris 10 OS 不支持这些版本。

2.0 发行版使用新框架。此发行版是对计划使用 Solaris 10 OS 的当前 Sun Crypto Accelerator 4000 用户提供的免费升级。因为 Sun Crypto Accelerator 4000 是导出控制的产品,您必须与 Sun Enterprise Services 或本地销售渠道联系以获得免费升级。有关其他信息,请参见 Sun 的 产品站点的 Sun Crypto Accelerator 4000 Web 页。

某些 USB 2.0 控制器被禁用

由于这些设备与 EHCI 驱动程序不兼容,对某些 USB 2.0 控制器的支持已被禁用。将显示以下消息:


Due to recently discovered incompatibilities with this 
USB controller, USB2.x transfer support has been disabled. 
This device will continue to function as a USB1.x controller. 
If you are interested in enabling USB2.x support please refer 
to the ehci(7D) man page. 
Please refer to www.sun.com/io for Solaris Ready products 
and to www.sun.com/bigadmin/hcl for additional compatible 
USB products.

有关 USB 设备的最新信息,请参见 http://www.sun.com/io_technologies/USB-Faq.html

支持的 USB 设备和相应的集线器配置

本 Solaris 发行版支持 USB 1.1 和 USB 2.0 设备。下表是工作于特定配置下的 USB 设备的摘要。连接类型可以是直接连接到计算机或通过 USB 集线器连接到计算机。注意,USB 1.1 设备和集线器是低速或全速的。USB 2.0 设备和集线器是高速的。有关操作的端口和速度的详细信息,请参见《System Administration Guide: Devices and File Systems》

表 3–1 USB 设备和配置

USB 设备 

连接类型 

USB 2.0 存储设备 

直连,USB 1.1 集线器,USB 2.0 集线器 

USB 1.1 设备(音频设备除外) 

直连,USB 1.1 集线器,USB 2.0 集线器 

USB 1.1 音频设备 

直连,USB 1.1 集线器 

USB 2.0 音频设备 

不支持 

x86: 对 Solaris 10 OS 中的某些设备驱动程序存在的限制

以下列表介绍对用于 x86 平台的此 Solaris 10 发行版中某些驱动程序和接口的限制:

Checkpoint Resume

已为所有设备类型关闭此功能。在 detach() 函数的 DDI_SUSPEND 代码中,应返回 DDI_FAILURE

Power Management

此功能不可用于 USB 设备。不要创建电源管理组件。编写驱动程序,以便仅在创建电源管理组件时调用 pm_raise_power()pm_lower_power()

无显示系统上的 DVD-ROM/CD-ROM 驱动器

交互式设备(如可拆卸介质)的电源管理与监视器和驱动监视器显卡的电源管理相联系。如果屏幕活动,则 CD-ROM 驱动器和软盘等设备仍然处于全电模式。在没有监视器的系统上,这些设备可切换到低电模式。要恢复 CD 或软盘的电源,键入 volcheck 以便从每个可拆卸设备获得最新状态。

或者,您可以使用 Dtpower GUI 禁用系统的电源管理。通过禁用电源管理,这些设备将始终处于全电模式。

x86: 指定非美国英语键盘需要手动配置

在缺省情况下,kdmconfig 程序指定 Generic US-English(104-Key) 作为连接到系统的键盘类型。如果系统键盘不是美国英语键盘,则必须在安装期间手动指定键盘类型。否则,会使用与系统的实际键盘类型不一致的缺省键盘规范继续安装。

解决方法 1:如果系统键盘不是美国英语键盘,请在安装期间执行以下步骤:

  1. 当显示“为安装建议的窗口系统配置”时,按 Esc 键。


    注 –

    “为安装建议的窗口系统配置”中的信息(包含键盘类型)仅显示 30 秒。如果希望更改配置设置,必须在 30 秒之内按 Esc 键。否则,会继续按照所显示的设置进行安装。


  2. 将键盘类型更改为与系统键盘对应的类型。

  3. 按 Enter 键接受更改,然后继续安装。

解决方法 2:如果想更改已在运行 Solaris 10 OS 的系统的键盘类型,请使用 kdmconfig 程序。选择适用于系统所运行的 X 服务器的类型的选项。

SPARC: 连接到磁带设备的某些主机总线适配器的 jfca 驱动程序可能导致错误 (6210240)

下列主机总线适配器 (HBA) 的 jfca 在这些 HBA 连接到磁带设备时可能导致系统出现紧急情况或引起 I/O 故障:

在运行特定操作时,这些 HBA 的 jfca 驱动程序容易出现竞争情况,从而导致错误。相应操作如下所示:

可能显示与下例相似的错误消息:

解决方法:不要将磁带设备连接到 SG-PCI1FC-JF2 或 SG-PCI2FC-JF2 HBA。

将 USB 2.0 集线器与 USB 1.x 设备一起使用可能导致系统出现紧急情况 (6209619)

如果在 USB 2.0 集线器下使用 USB 1.x 设备,系统可能出现紧急情况。以下为可能显示的错误消息之一:


BAD TRAP: type=31 rp=2a100f8d6a0 addr=38 mmu_fsr=0 occurred 
in module "usba" due to a NULL pointer

解决方法:不要对 USB 1.x 设备使用下列任何连接配置:

改为将 USB 1.x 设备直接连接到系统的 USB 1.1 端口。另外,可以使用连接到 USB 2.0 系统端口或 PCI 卡端口的 USB 1.1 外部集线器。


注 –

有关相应信息,请参见以下资源:


x86: 在某些主板上 EHCI 驱动程序不可用 (6204987)

某些主板上的 ICH5R 控制器中的系统软件无法通过 BIOS 控制 EHCI 硬件。将显示以下错误消息:


ehci_init_ctrl: Unable to take control from BIOS. EHCI support disabled.

因此,无法使用 EHCI 驱动程序。


注 –

有关相应信息,请参见以下资源:


解决方法:无。

使用 FireWire–1394 存储设备可能导致系统出现紧急情况 (6203680)

如果将 FireWire-1394 海量存储设备与可拆卸介质卷守护进程 (vold) 一起使用,系统可能出现紧急情况。硬盘驱动器和 CD 或 DVD 驱动器即属于这类存储设备。可能显示包括 "bad mutex" 项在内的错误消息。

解决方法:将 FireWire–1394 海量存储设备连接到系统之前执行以下步骤:

  1. 成为超级用户。

  2. 停止卷管理守护进程以禁用可拆卸介质管理:


    # /etc/init.d/volmgt stop
    

有关守护进程的更多信息,请参见 vold(1M) 手册页。

在播放或录制操作期间暂停 USB 音频设备可能导致系统死锁 (6200924)

在 USB 音频设备播放或录制期间,如果使用诸如 sdtaudiocontrol 的方式暂停设备,该驱动程序可能挂起。可能需要重新引导系统。

解决方法:不要暂停 USB 音频设备。


注 –

有关相应信息,请参见以下资源:


共享相同总线的某些设备之间存在争用 (6196994)

如果 Quad 快速以太网 (QFE) 卡与下列任何适配器共享同一总线,会出现总线争用:

这些适配器使用的 ce 驱动程序的无限成组传送参数在缺省情况下启用。因此,仅很少或无总线时间可用于共享同一总线的 QFE 端口。

解决方法:不要使 QFE 卡与列表中的网络适配器共享同一总线。

当 Num Lock 键为开时某些键盘键不工作 (6173972)

如果在运行某些 Java 应用程序时 Num Lock 键为开,其他键可能停止工作。部分受影响的键如下所示:

解决方法:关闭 Num Lock 键。

SPARC: 修订 ID 小于 32 的 GigaSwift 快速和千兆位以太网设备可能导致系统出现紧急情况 (5090222)

修订 ID (rev_id) 小于 32 的 GigaSwift 快速或千兆位以太网卡可能导致系统出现紧急情况。在下列运行 Solaris 10 OS 的系统中观察到紧急情况:

将显示以下错误消息:


panic: pcisch-1: Fatal PCI bus error(s)

解决方法:执行以下步骤。

  1. 确定设备的 rev_id


    kstat ce:instance | grep rev
    
  2. 如果 rev_id 小于 32,请使用 rev_id 等于或大于 32 的更高型号替换该卡。


注 –

在 x86 系统或未包含在以上列表中的基于 SPARC 的版本较旧的系统上,仍可使用原来的卡。


hat_getkpfnum() DDI 函数已过时 (5046984)

hat_getkpfnum() DDI 函数已过时。开发者应更新他们的设备驱动程序,以便不使用 hat_getkpfnum() DDI 接口。如果驱动程序使用 hat_getkpfnum(),会显示与下例相似的警告:


WARNING: Module mydrv is using the obsolete hat_getkpfnum(9F)
interface in a way that will not be supported in
a future release of Solaris. Please contact the
vendor that supplied the module for assistance,
or consult the Writing Device Drivers guide,
available from http://www.sun.com for migration
advice.
---
Callstack of bad caller:
       hat_getkpfnum_badcall+93
       hat_getkpfnum+6e
       mydrv_setup_tx_ring+2d
       mydrv_do_attach+84
       mydrv_attach+242
       devi_attach+6f
       attach_node+62
       i_ndi_config_node+82
       i_ddi_attachchild+4a
       devi_attach_node+4b
       devi_attach_children+57
       config_immediate_children+6e
       devi_config_common+77
       mt_config_thread+8b

要确定驱动程序是否在使用 hat_getkpfnum(),请参阅驱动程序源代码,或者使用 nm() 检查驱动程序的符号。使用驱动程序 mydrv 为例,键入以下语法:


% nm /usr/kernel/drv/mydrv | grep hat_getkpfnum

有关从 hat_getkpfnum() 迁移出驱动程序的指南,请参阅《Writing Device Drivers》中的附录 B “Summary of Solaris DDI/DKI Services”

某些带有 USB 2.0 硬件的系统可能会挂起或出现紧急情况 (5030842)

带有某种 USB 2.0 硬件的系统在运行本 Solaris 发行版时,可能经常会挂起或出现紧急情况。这些问题与不基于 NEC 芯片组的 USB 2.0 设备有关。在发生这些问题时,会显示下列有关增强主机控制器接口 (EHCI) 的错误消息:


WARNING: /pci@0,0/pci8086,244e@1e/pci925,1234@2,2 (ehci1):
This controller is not supported.
Please refer to www.sun.com/io for Solaris Ready products
and to www.sun.com/bidadmin/hcl for additional compatible USB products

解决方法:根据系统硬件配置的不同,请选择以下选项之一:


注 –

USB 2.0 端口由两个伴随硬件操作:

在基于 x86 的系统上,同时存在 OHCI 和 UHCI 的驱动程序。在基于 SPARC 的系统上,只支持 OHCI USB 1.1 主机控制器硬件。因此,如果 SPARC 系统上的伴随 EHCI 控制器被禁用,则只有带 OHCI 伴随控制器的 USB 硬件可以继续在该 SPARC 系统上工作。如果系统有适当的 OHCI 或 UHCI 驱动程序,即使 EHCI 被禁用,USB 硬件端口仍然可以操作。与这些端口相连接的 USB 2.0 设备的运行速度只能与 USB 1.1 设备相当。

要验证在基于 SPARC 的系统上是否存在 EHCI 和 OHCI 主机控制器,请键入:

# prtconf -D

在输出中检查 EHCI 项,这些项位于一条或多条 OHCI 项之后,如下例所示:


pci, instance #0 (driver name: pci_pci)
usb, instance #0 (driver name: usba10_ohci)
usb, instance #1 (driver name: usba10_ohci)
usb, instance #0 (driver name: usba10_ehci)

x86: 在 Sun Fire V65x 服务器上使用两个 Adaptec SCSI Card 39320D 卡会导致系统出现紧急情况 (5001908)

在 Sun Fire V65x 服务器上使用两个 Adaptec SCSI Card 39320D 卡会导致系统出现紧急情况。安装 Solaris 10 软件后,在初始重新引导期间发生该紧急情况。将显示以下错误消息:


Initializing system  Please wait... 
1 run-time error M6111: MATH
	- floating-point error: stack underflow

解决方法:卸下第二个 Adaptec 卡。

x86: 基于 x86 的 Solaris OS 不支持软系统关闭 (4873161, 5043369)

基于 x86 的 Solaris OS 不支持由某个命令启动的软系统关闭。关机命令模拟按下关闭电源的电源按钮。在基于 x86 的系统上,在 Solaris OS 运行时发出此命令会立即关闭电源,但不会正确关闭操作系统。不正确的关机过程可能会损坏文件系统。

解决方法:在关闭电源前,首先关闭操作系统。请执行以下步骤:

  1. 成为超级用户。

  2. 使用可用命令之一正确关闭 Solaris OS,例如,inithaltshutdown。例如:


    # shutdown
    
  3. 操作系统完全关闭后,可以通过以下两种方法之一关闭电源:

    • 如果系统支持软系统关闭,请发出命令以关闭电源。

    • 如果系统不支持软系统关闭,请使用电源开关手动关闭电源。

有关关闭操作系统的命令的更多信息,请参见 init(1M)halt(1M)shutdown(1M) 命令的手册页。有关关闭系统电源的信息,请参阅系统手册。

某些 DVD 和 CD-ROM 驱动器无法引导 Solaris (4397457)

SunSwiftTM PCI 以太网/SCSI 主机适配器 (X1032A) 卡的 SCSI 部分的缺省超时值不符合 Sun 的 SCSI DVD-ROM 驱动器 (X6168A) 的超时要求。使用特殊介质,DVD-ROM 会偶尔出现超时错误。唯一的例外是 Sun Fire 6800、4810、4800 和 3800 系统。这些系统以 OpenBoot PROM 的方式覆写 SCSI 超时值。

解决方法:对于其他平台,使用与板上 SCSI 接口或 DVD-ROM 兼容的 SCSI 适配器,如下例所示:

iPlanet Directory Server 5.1 问题

本节为升级到新的 Solaris 10 发行版的 iPlanetTM Directory Server 5.1 用户提供重要信息。

安装 Directory Server 5.1

Sun Java System Directory Server 5 2005Q1 替换 Solaris 9 操作系统集成的 iPlanet Directory Server 5.1。在 Solaris 10 OS 中,此新 Directory Server 可安装为 Sun Java Enterprise System 的一部分。


注 –

有关 Sun Java System Directory Server 5 2005Q1 的信息,请参阅 http://docs.sun.com 上的 Sun Java 系统文档。


Solaris 10 OS 继续支持 Directory Server 5.1。在下列情况下,可能需要安装 Directory Server 5.1:

在 Solaris 10 发行版中,手动安装 Directory Server 5.1。执行以下步骤:

  1. 将 Solaris 10 Software - 4 CD 插入 CD-ROM 驱动器。

  2. 成为超级用户。

  3. 在终端窗口中,安装 Directory Server。


    # cd /cdrom/cdrom0/Solaris_10/Product/
    # pkgadd -d . IPLTnls IPLTnspr IPLTnss IPLTjss IPLTpldap \
    IPLTdsr IPLTdsu IPLTadmin IPLTcons IPLTadcon IPLTdscon \
    IPLTadman IPLTdsman
    

    要安装简体中文本地化软件包,请发出以下附加命令:


    # pkgadd -d . IPLTcdsu IPLTcadmin IPLTccons IPLTcadcon \
    IPLTcdscon IPLTcadman IPLTcdsman
    

    要安装日文本地化软件包,请发出以下附加命令:


    # pkgadd -d . IPLTjdsu IPLTjadmin IPLTjcons IPLTjadcon \ 
    IPLTjdscon IPLTjadman IPLTjdsman
    
  4. 安装完成后,配置 iPlanet Directory Server 5.1。请参阅《System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP)》中的第 11  章 “Sun ONE Directory Server Configuration”

迁移到 Sun Java System Directory Server 5 2005Q1


注意 – 注意 –

两个 Directory Server 版本的数据库格式不兼容。所以,如果您是 Directory Server 5.1 用户,Sun 建议您将数据库迁移到针对 Sun Java System Directory Server 5 2005Q1 进行格式化的数据库。


要执行迁移,已升级到 Solaris 10 OS 的系统中必须同时存在 Directory Server 的两个版本。如果您是 DS 5.1 用户,但正在使用压缩的归档文件 (.tar.gz) 发送格式,可立即跳到步骤 2 中的迁移说明。

  1. 在终端窗口上,检查系统中是否存在 iPlanet Directory Server 5.1 软件包。


    $ pkginfo | grep IPLT
    

    如果下列软件包显示为输出,则可以转至步骤 2 以继续进行迁移。输出表明系统中存在 iPlanet Directory Server 5.1 软件包。


    system  IPLTadcon  Administration Server Console
    system  IPLTadman  Administration Server Documentation
    system  IPLTadmin  Administration Server
    system  IPLTcons   Console Client Base
    system  IPLTdscon  Directory Server Console
    system  IPLTdsman  Directory Server Documentation
    system  IPLTdsr    Directory Server (root)
    system  IPLTdsu    Directory Server (usr)
    system  IPLTjss    Network Security Services for Java
    system  IPLTnls    Nationalization Languages and Localization Support
    system  IPLTnspr   Portable Runtime Interface
    system  IPLTnss    Network Security Services
    system  IPLTpldap  PerLDAP
    $

    如果软件包不存在,则首先安装 iPlanet Directory Server 5.1 软件包。请参阅前一节安装 Directory Server 5.1中包含的 4 个步骤的过程。安装完成后,转至步骤 2 以继续迁移。

  2. 将 iPlanet Directory Server 5.1 数据库迁移到当前版本。有关说明,请参阅 http://docs.sun.com/coll/DirectoryServer_05q1 上的 Sun Java System Directory Server 的文档集合。

迁移数据后,确保使用在迁移前备份目录数据的相同方法继续备份目录数据。未来的灾难恢复可能需要已迁移的数据库。

运行调试程序时的问题

下列问题涉及内核调试程序。

SPARC: 具有活动内核调试程序的系统在挂起/恢复循环期间可能出现紧急情况 (5062018)

在具有活动内核调试程序 (kmdb) 的系统上执行多个挂起/恢复循环后,系统最终可能发生紧急情况。紧急情况在循环的恢复阶段发生。通常,在已经历 20 到 50 个挂起/恢复周期的系统上发生此问题。系统生成应急消息。

解决方法:在需要使用挂起和恢复模块 (cpr) 的所有系统中禁用 kmdb

当主 CPU 更改时系统可能循环 (4405263)

运行 Solaris 内核调试程序以调试活动系统的系统可能循环,并显示不完整的错误消息。当 OpenBoot PROM 的主 CPU 更改时发生此循环。系统复位即可恢复系统操作。不过,对原始故障的跟踪将会丢失。因此,无法执行对致命复位的诊断。

解决方法:当系统处于 PROM 级别时,会显示 OpenBoot 的 ok 提示符。在具有多个 CPU 的系统中,ok 提示符前面是括在花括号中的数字。此数字表示系统中的活动 CPU。要在处于 PROM 级别时运行调试会话,请执行以下步骤:

  1. 通过键入以下命令,将 pil 提高到 f:


    {0} ok h# 0f pil!
    
  2. 使用 switch-cpu 命令,选择性地从当前活动的 CPU 切换到另外的 CPU。例如,要从 CPU #0 切换到 CPU #1,请键入以下命令:


    (0) ok 1 switch-cpu
    

    现在,ok 提示符前面是要切换的 CPU 的编号。


    {1} ok
  3. 运行调试程序。

  4. 在调试程序会话结束时,发出 reset-all 命令以使系统恢复为正常使用。


注 –

确保将系统升级到 OpenBoot PROM 的最新版本。


本地化问题

本节介绍适用于 Solaris 10 OS 的本地化问题。

登录屏幕将 UTF-8 语言环境标记为建议的语言环境

在登录屏幕的“语言”菜单上,UTF-8 语言环境被标记为建议选项。例如,对于日文语言环境,屏幕显示如下:


ja_JP.eucJP -------------- Japanese EUC
ja_JP.PCK  --------------- Japanese PCK
ja_JP.UTF-8 (Recommended) - Japanese UTF-8

建议 Java 桌面系统 (JDS) 用户使用 UTF-8 语言环境,因为 JDS 使用 UTF-8/Unicode 作为内部字符编码。此建议同样适用于非 UTF-8 语言环境的未来软件支持终止声明。请参见遗留或传统非 UTF-8 语言环境

迁移到 UTF-8 语言环境后,这些文件将影响用来导入或导出数据的方法。

Microsoft Office 文件

Microsoft Office 文件以 Unicode 进行编码。StarSuite 应用程序可以读写用 Unicode 编码的文件。

HTML 文件

使用诸如 Mozilla Composer 的 HTML 编辑器编写的 HTML 文件,或者使用 Web 浏览器保存的 HTML 文件通常包含一个 charset 编码标记。在导出或导入之后,您可以根据 HTML 文件中的编码标记使用 Mozilla Navigator Web 浏览器浏览此类 HTML 文件,或者使用 Mozilla Composer 编辑这些文件。

修复损坏的 HTML 文件

某些 HTML 文件可能显示乱码。此问题通常是由下列原因造成的:

要在 HTML 文件中查找 charset 编码标记,请执行以下操作:

  1. 使用 Mozilla 打开文件。

  2. 按 Ctrl-i 或单击“查看”,打开“查看”菜单。

  3. 单击“页面信息”。

charset 信息位于“常规”选项卡的底部,例如:


Content-Type text/html; charset=us-ascii

如果字符串 charset=us-ascii 与文件的实际编码不匹配,则文件可能显示为已损坏。要编辑 HTML 文件的编码,请执行下列操作:

  1. 使用 Mozilla Composer 打开文件。

  2. 打开“文件”菜单。

  3. 选择“另存为字符集”。

  4. 选择正确的编码。Mozilla Composer 会根据需要自动转换编码和 charset 标记。

另存为可移植格式的电子邮件

现在的邮件都是用 MIME charset 标记进行标记的。电子邮件和日历应用程序支持 MIME charset 标记。您不需要执行任何编码转换操作。

纯文本文件

纯文本文件不包含 charset 标记。如果文件不是 UTF-8 编码,则需要进行编码转换。例如,要将繁体中文 big5 编码的纯文本文件转换为 UTF-8,请执行下面的命令:


iconv -f big5 -t UTF-8 inputfilename


 > outputfilename

还可以使用文件系统检查器进行编码转换。

可以使用文本编辑器自动读写字符编码文本,或在打开或保存文件时明确指定编码。

要启动文本编辑器,请单击“启动”,然后选择“应用程序”->“附件”->“文本编辑器”。

文件名和目录名

如果使用多字节字符的文件名和目录名不是 UTF-8 编码,则需要进行编码转换。可以使用文件系统检查器将文件名和目录名以及纯文本文件内容从传统字符编码转换成 UTF-8 编码。有关更多信息,请参阅文件系统检查器的联机帮助。

要启动文件系统检查器,请单击“启动”,然后选择“应用程序”->“实用程序”->“文件系统检查器”。

在使用文件管理器通过 SMB 访问 Microsoft Windows 上的非 UTF-8 文件名或目录名时,无需进行编码转换就可进行访问。

启动传统语言环境应用程序

对于尚不能移植到 Unicode UTF-8 的应用程序,您可以在前面板中创建启动器,以便在传统语言环境中启动应用程序。也可以直接从命令行启动应用程序。要为应用程序创建启动器,请执行以下步骤。

  1. 右击要放置启动器的面板。

  2. 选择“添加到面板”->“启动器”。

  3. 使用如下格式在“创建启动器”对话框的“命令”字段中键入项:


    env LANG=locale LC_ALL=
    locale application name
    

    例如,若要在中文 Big5 语言环境中启动 /usr/dt/bin 中名为 motif-app 的应用程序,可在“创建启动器”的“命令”字段中输入以下文本:


    env LANG=zh_TW.BIG5 LC_ALL=zh_TW.BIG5 /usr/dt/bin/motif-app
    
  4. 单击“确定”在面板上创建启动器。

如果需要运行特定于某个传统语言环境的 CLI(command line interface,命令行界面)应用程序,请先在该传统语言环境中打开一个终端窗口,然后在同一终端窗口中运行该 CLI 应用程序。要在传统语言环境中打开终端窗口,请输入以下命令:


eng LANG=locale LC_ALL=locale GNOME-TERMINAL –disbable-factory.

通过在当前终端窗口的“设置字符编码”菜单中更改编码,您可以在该终端窗口中将语言环境设置从 UTF-8 切换到传统语言环境,而不必在传统语言环境中打开新的终端窗口。然后,还必须将 LANGLANG 环境变量设置为当前的 shell。

未提供用于爱沙尼亚语键盘类型 6、加拿大法语键盘类型 6 和波兰语程序员键盘类型 5 的硬件

Solaris OS 中增加了对以下三种键盘布局的软件支持:爱沙尼亚语键盘类型 6、加拿大法语键盘类型 6 和波兰语程序员键盘类型 5。

使用此软件,爱沙尼亚、加拿大和波兰的用户可以根据自己的语言需要来更改标准的美国键盘布局,从而更灵活地进行键盘输入。

目前,这三种键盘布局类型还没有可用的硬件。

解决方法:要使用这种新的键盘软件,请使用以下方法之一修改 /usr/openwin/share/etc/keytables/keytable.map 文件:

无法以可移植文档格式打印文档 (6239307, 6218079)

在所有的语言环境中,文档查看器均无法打印可移植文档格式 (Portable Document Format, PDF) 的本地化文件。

解决方法:请选择以下解决方法之一:

x86: 登录进程在某些非 UTF-8 亚洲语言环境中可能会挂起 (6215527)

在某些基于 x86 的系统上,如果您登录到某些非 UTF-8 亚洲语言环境,登录进程可能会挂起。例如,在以下语言环境中观察到该错误:

解决方法:在登录窗口的语言菜单中,选择 UTF-8 语言环境。

localeadm -l 不列出已安装的韩文语言环境软件包 (6189823)

在重新创建 /usr/sadm/lib/localeadm/locales.list 文件时,localeadm -l 命令未能包含韩文语言环境。因此,即使系统中已安装韩文语言环境,运行 localeadm -l 时也不列出这些语言环境。另外,如果您试图在列出安装的语言环境后使用 localeadm -r ko 删除韩文语言环境,会显示下列错误消息:


Region korean is not installed on this machine. Exiting.

解决方法:要正确更新 /usr/sadm/lib/localeadm/locales.list 文件,请运行 localeadm -a ko。然后,可以使用 localeadm -r ko 成功删除韩文语言环境。

另外,可以执行以下步骤:

  1. 成为超级用户。

  2. 通过添加以下项,编辑 /usr/sadm/lib/localeadm/locales.list 文件:

    Korean (korean)

特殊键盘键不工作 (5077631)

键盘左侧的特殊键在欧洲键盘映射中不工作。此问题会影响所有的欧洲语言环境。

解决方法:不要使用特殊键盘键,请使用快捷键。以下示例列出了快捷键及其相应功能:

修改键无法正常工作 (4996542)

在所有的语言环境中,当使用 Internet/Intranet 输入方法时,Alt 键和 Shift 键可能无法作为修改键使用。例如,使用 Shift-方向键组合键可能不能选择文本,而可能插入拉丁字符。

解决方法:使用其他输入方法,如缺省的输入方法。要切换输入方法,请右键单击对象,然后选择输入方法。

中文字符和韩文字符在框中打印 (4977300)

该 postscript 打印机没有捆绑中文或韩文字体。因此,在中文语言环境或韩文语言环境中,如果试图从 Mozilla 浏览器打印,则字符将在框内打印。通用 UNIX 打印系统 (Common UNIX Printer System, CUPS) 需要转换 Mozilla postscript 字体才能打印文件。

解决方法:请执行以下步骤。

  1. 单击“启动”=>“首选项”=>“打印机”。

  2. 右键单击 PostScript 打印机图标,然后选择“属性”。

  3. 单击“高级”选项卡。

  4. 将 "Ghostscript pre-filtering" 设置为 "Convert to PS level 1"。

排序功能在欧洲 UTF-8 语言环境中不能正常工作 (4307314)

在欧洲 UTF-8 语言环境中排序不能正常工作。

解决方法:尝试在 FIGGS UTF-8 语言环境中进行排序前,请将 LC_COLLATE 变量设置为等效于 ISO–1 的值。


# echo $LC_COLLATE
>  es_ES.UTF-8
# LC_COLLATE=es_ES.IS08859-1
# export LC_COLLATE

然后开始排序。

联网问题

Solaris 10 发行版中存在以下联网错误。

SPARC: 32 位和 64 位编译中 RTM_IFINFO 消息的大小不同

如果不重新编译在 if_msghdr_t 结构中创建 PF_ROUTE 插槽和分析 RTM_IFINFO 消息内容的 64 位程序,该程序可能无法正常工作。

在缺省情况下,Solaris 10 OS 中的 IP 转发被禁用

在此 Solaris 发行版中,在缺省情况下已禁用 IP 转发。无论其他系统配置如何,此设置都适用于 IPv4 和 IPv6。具有多个 IP 接口(以前转发 IP 包)的系统缺省情况下不再具有此自动功能。要在多主系统中启用 IP 转发,管理员必须手动执行其他配置步骤。

解决方法:命令 routeadm 启用 IP 转发。因使用 routeadm 产生的配置更改在系统重新引导期间持续生效。

有关 IP 转发的更多信息,请参见 routeadm(1M) 手册页。

在 IP 地址属于失败 IP 网络多路径组时区域不引导 (6184000)

可以对区域进行配置,使其 IP 地址包含在 IP 网络多路径 (IPMP) 组中。配置过程记录在《System Administration Guide: Solaris Containers-Resource Management and Solaris Zones》中的“How to Extend IP Network Multipathing Functionality to Non-Global Zones”中。

当 IPMP 组的所有网络接口失败时,如果一个区域的 IP 地址是 IPMP 组的一部分,则该区域不会进行引导。

下例说明试图引导该区域的结果。


# zoneadm -z my-zone boot 
zoneadm: zone 'my-zone': bge0:1: 
could not set default interface for multicast: Invalid argument 
zoneadm: zone 'my-zone': call to zoneadmd failed

解决方法:至少修复该组中的一个网络接口。

IPv4/IPv6 的 ATM LANE 子网可能无法完成初始化 (4625849)

在系统引导期间,如果单个适配器上存在八个以上 LANE 实例,则多个实例可能无法连接到其 LAN 仿真 (LANE) 实例。此错误未在多用户级别中出现。

解决方法:要重新初始化 SunATM 网络,请执行以下步骤:

  1. 通过发出 lanestat -a 命令验证问题。

    未连接到 LAN 仿真服务器 (LES) 和广播及未知地址服务器 (BUS) 的实例的虚拟线路标识符 (VCI) 值为 0。

  2. 停止并重新启动 SunATM 网络。


    # /etc/init.d/sunatm stop
    # /etc/init.d/sunatm start
    
  3. 复位 SunATM 接口的网络掩码或任何其他网络设置。

在两个启用了过滤功能的 IP 节点之间配置多个隧道可能会导致数据包丢失 (4152864)

如果在两个 IP 节点之间配置多个 IP 隧道,并启用 ip_strict_dst_multihoming 或其他 IP 过滤器,会导致数据包丢失。

解决方法:选择以下选项之一:

安全问题

Solaris 10 发行版中存在以下安全问题。

pam_ldap 启用后,无口令登录失败

为 LDAP (pam_ldap) 启用了 PAM 帐户管理模块以后,用户必须有登录系统的口令。因此基于无口令设置的登录将失败,包括使用以下工具的登录:

解决方法:无。

encrypt() decrypt() 的新版本不向下兼容

encrypt() 生成的输出文件由对应的 decrypt() 处理。当前发行版使用 encrypt()decrypt() 的新版本。这些命令所处理的文件格式与早期版本生成和处理的文件格式不同。新的 decrypt() 无法再正确识别使用早期 encrypt() 加密的数据。

有关更多信息,请参阅 encrypt(1)decrypt(1) 手册页。

解决方法:要转换旧的加密数据,以便新的 encrypt()decrypt() 版本能够处理这些数据,请执行以下步骤:

  1. 使用 decrypt() 的早期版本解密现有数据。

  2. 使用新的 encrypt() 重新加密相同数据。

不正确参数可能导致 Sun StorEdge T3 中出现紧急情况 (4319812)

如果某个应用程序使用 HTTP 接口发送令牌环时使用了超范围的参数,Sun StorEdgeTM T3 系统可能会出现紧急情况。

服务管理工具

本节介绍涉及 Solaris 10 OS 的服务管理工具的问题。有关 Solaris OS 中此新增功能的更多信息,请参见《Solaris 10 ????》中的“Solaris Service Manager”

svccfg import 子命令不刷新相关服务 (6221374)

系统在安装后 Solaris 10 OS 第一次引导时,会发生有关相关服务的错误。svccfg import 子命令可能无法激活已在服务的标明文件中声明的相关服务。因此,相关服务可能无法按顺序启动并生成与这些服务相关的错误消息。

解决方法:为相关服务发出命令 svcadm refresh。例如:


svcadm refresh dependent FMRI

软件开发者使用下列解决方法可避免此问题:

在缺省情况下打印服务使用脱机设置 (5100134)

如果没有为主机配置本地打印机,两个打印服务 ipp-listenerrfc1179 在缺省情况下设置为脱机。在主机上配置本地打印机后,这些服务被自动移至联机。这些服务的缺省脱机设置不显示错误。所以,不需要用户介入。

解决方法:无。

keyserv 守护进程禁用某些文件系统服务 (5084183)

在不使用网络信息服务 (NIS) 或 NIS+ 名称服务的系统上,NFS 和 autofs 服务被禁用。故障原因是这些服务与 keyserv 守护进程相关。keyserv 守护进程依赖于 RPC 域名,在不使用 NIS 或 NIS+ 的系统上未设置该域名。因此,keyserv 守护进程故障将导致 NFS 和 autofs 服务被禁用。

解决方法:要启用服务,请执行以下步骤:

  1. 成为超级用户。

  2. 执行以下命令:


    # svcadm disable network/rpc/keyserv
    # svcadm disable -t network/nfs/client:default
    # svcadm enable network/nfs/client:default
    # svcadm disable -t network/nfs/server:default
    # svcadm enable network/nfs/server:default
    # svcadm disable -t network/rpc/gss:ticotsord
    # svcadm enable network/rpc/gss:ticotsord
    

挂载文件系统前有时显示登录提示 (5082164)

在系统启动期间,在远程文件系统和命名服务变为可用之前,控制台或 ssh 等登录服务有时会启动。因此,可能无法识别用户名或用户的起始目录不可用。

解决方法:如果发生错误,请等待几秒钟,然后重新登录。也可以从本地帐户查看系统状态。

智能卡

下列智能卡错误适用于 Solaris 10 OS。

系统对智能卡没有响应 (4415094)

如果 ocfserv 终止并且显示被锁定,则不论插入还是取出智能卡,系统都保持锁定状态。

解决方法:按照以下步骤解除系统锁定:

  1. 远程登录到 ocfserv 进程终止的计算机。

  2. 成为超级用户。

  3. 在终端窗口中键入以下命令,终止 dtsession 进程。


    # pkill dtsession
    

ocfserv 重新启动,智能卡登录并恢复功能。

智能卡管理控制台中的“编辑配置文件”菜单项不起作用 (4447632)

智能卡管理控制台中的“编辑配置文件”菜单项不能用于编辑位于 /etc/smartcard/opencard.properties 中的智能卡配置文件。如果选择该菜单项,将显示一条警告信息,指出除非技术支持人员要求如此,否则不能继续执行此操作。

解决方法:不要使用智能卡管理控制台中的“编辑配置文件”菜单项。有关智能卡配置的信息,请参见《Solaris Smartcard Administration Guide》。

Solaris 命令和标准

下一节介绍 Solaris 10 OS 中某些命令和标准的行为变化。

Bash 2.0.5b 不再设置某些环境变量

Solaris 10 OS 包含 Bash 2.0.5b。此 shell 不再自动将下列变量导出到环境:

即使 shell 为这些变量分配缺省值,此新行为也适用。

解决方法:手动导出这些变量。

ln 实用程序需要 -f 选项

/usr/bin/ln 的行为已更改为继承从 SVID3 到 XCU6 的所有标准。如果使用 ln 命令而不带 -f 选项以链接到现有目标文件,则不建立链接。而是将诊断消息写入标准错误,且该命令继续链接任何其他源文件。最后,ln 命令退出,并显示错误值。

例如,如果文件 b 存在,语法 ln a b 生成以下消息:


ln: b: File exists

此行为更改影响包含不带 -f 选项的 ln 命令的现有 shell 脚本或程序。过去运行的脚本现在在 Solaris 10 OS 中可能失败。

解决方法:-f 选项与 ln 命令一起使用。如果有执行链接实用程序的现有脚本,请确保修改这些脚本以符合命令的新行为。

使用破折号或等号的新 tcsh Rejects setenv 变量名

在 Solaris 10 OS 中,tcsh 已升级为版本 6.12。此版本不再接受名称中使用破折号或等号的环境变量。包含 setenv 行且在 Solaris 早期版本中起作用的脚本在当前 Solaris 10 发行版中可能生成错误。将显示以下错误消息:


setenv: Syntax error

有关更多信息,请参阅 Solaris 10 OS 的 tcsh 手册页。

解决方法:不要在环境变量名称中使用破折号或等号。

STDIO getc 系列 EOF 条件行为更改

在严格符合 C 标准的模式下生成的应用程序可能受某些库功能的行为更改的影响。例如,使用 cc -Xcc89 编译模式编译的应用程序。下列库功能的行为已更改:

1990 C 标准的正式解释要求在设置文件结束条件后,后续输入操作中的文件不返回更多数据。例外情况是文件指针被重新定位或者应用程序已显式清除错误和文件结束标志。

所有其他编译模式的行为都保持不变。特别地,接口可在设置文件结束指示符后从流读取其他新写入的数据。

解决方法:在流上调用 fseek()clearerr() 以便在流上报告 EOF 条件后读取其他数据。

ps 命令的输出列已加宽

由于 UID、处理器 ID 和累积执行时间较大,ps 命令输出的各列已加宽。客户脚本不应采用固定输出列。

解决方法:脚本应使用 ps 命令的 -o 选项。

有关更多信息,请参见 ps(1) 手册页。

命令 ping -v 在 IPv6 地址上不运行 (4984993)

当命令 ping -v 应用于使用 Internet Protocol 版本 6 (IPv6) 的地址时,该命令失败。将显示以下错误消息:


ping: setsockopt IPV6_RECVRTHDRDSTOPTS Invalid argument

解决方法:无。要获得 ping -v 提供的相同 ICMP 包信息,请使用 snoop 命令。

Solaris 卷管理器

Solaris 10 发行版中存在以下 Solaris 卷管理器错误。

Solaris 卷管理器的 metattach 命令可能会失败

如果 Solaris 卷管理器镜像了 root (/) 文件系统,并且该文件系统不是从柱面 0 开始的,则您附加的所有子镜像也不能从柱面 0 开始。

如果试图将从柱面 0 开始的子镜像附加到某个镜像,并且该镜像中最初的子镜像不是从柱面 0 开始的,则会显示以下错误消息:


不能向无标签的镜像附加有标签的子镜像

解决方法:请选择以下解决方法之一:


注 –

缺省情况下,JumpStart 安装进程会从柱面 0 开始交换片,并从磁盘上的其他位置开始 root (/) 文件系统。常见的系统管理方式是从柱面 0 开始片 0。如果将缺省的 JumpStart 安装(其 root 在片 0,而不在柱面 0)镜像到第二个典型磁盘(其片 0 从柱面 0 开始),就会出现问题,从而导致试图附加第二个子镜像时产生错误消息。有关 Solaris 安装程序缺省行为的更多信息,请参见 Solaris 10 安装指南。


Solaris 卷管理器 metassist 命令在非英文语言环境中失败 (5067097)

在非英文语言环境中,Solaris 卷管理器 metassist 命令可能无法创建卷。例如,如果将 LANG 设置为 ja(日文),会显示以下错误消息:


xmlEncodeEntitiesReentrant : input not UTF-8
Syntax of value for attribute read on mirror is not valid
Value "XXXXXX"(unknown word) for attribute read on mirror is not among the enumerated set
Syntax of value for attribute write on mirror is not valid
Value "XXXXXX"(Parallel in Japanse) for attribute write on mirror is not among the enumerated set
metassist: XXXXXX(invalid in Japanese) volume-config

解决方法:以超级用户身份,将 LANG 变量设置为 LANG=C

对 Bourne、Korn 和 Bash shell,请使用以下命令:


# LANG=C; export LANG

对 C shell,请使用以下命令:


# setenv LANG C

在具有未格式化磁盘的系统中无法创建卷 (5064066)

如果系统中包含未格式化的磁盘,则使用 metassist 命令创建 Solaris 卷管理器卷配置可能失败。将显示以下错误消息:


metassist: failed to repartition disk

解决方法:手动格式化任何未格式化的磁盘后,发出 metassist 命令。

当在软分区上构建的磁盘集内创建 Solaris 卷管理器 RAID-1(镜像)或 RAID-5 卷时,热备用设备无法正常工作 (4981358)

如果在软分区顶部构建的磁盘集中创建 Solaris 卷管理器 RAID-1(镜像)或 RAID-5 卷,则热备用设备将无法正常工作。

您可能遇到的问题包括(但不限于)以下情况:

如果不存在逻辑设备名,则 Solaris 卷管理器的 metadevadm 命令会失败 (4645721)

不能用通过 Solaris 卷管理器软件配置的驱动器来替换发生故障的驱动器。替换驱动器对于 Solaris 卷管理器软件来说必须是新的。如果一个磁盘从 Sun StorEdge A5x00 上的一个插槽实际移动到另一个插槽,则 metadevadm 命令会失败。这是由于该片的逻辑设备名不再存在。但是,该磁盘的设备 ID 仍然存在于元设备副本上。将显示以下消息:


检测到未命名的设备。请运行 'devfsadm && metadevadm -r 来解决此问题。

注 –

此时,您可以在新位置访问该磁盘。但是,可能需要使用旧的逻辑设备名来访问该片。


解决方法:将驱动器实际移回原来的插槽。

Solaris 卷管理器的 metarecover 命令无法更新 metadb 名称空间 (4645776)

如果从系统中删除并替换物理磁盘,然后用 metarecover -p -d 命令向该磁盘中写入适当的软分区特定信息,会导致一个打开故障。该命令不能更新元设备数据库名称空间,使其反映磁盘设备标识的变化。这种情况会使建立在该磁盘上的每个软分区都产生一个打开故障。将显示以下消息:


打开错误

解决方法:在新磁盘上创建软分区,而不是发出 metarecover 命令来恢复软分区。


注 –

如果软分区是镜像或 RAID 5 的一部分,则使用不带 -e 选项的 metareplace 命令,用新的软分区来替换旧的软分区。


# metareplace dx mirror or RAID 5 old_soft_partition new_soft_partition

Sun Java Desktop System

本节介绍适用于 Solaris 10 OS 中的 Sun Java Desktop System (Java DS) 的问题。

电子邮件和日历

使用多个附件时的问题 (6260583)

如果将电子邮件消息拖放至新的电子邮件消息的内容部分,新电子邮件消息的内容会遭到破坏。

解决方法:要发送多个附件,请执行以下步骤:

  1. 选择要附加的消息。

  2. 在菜单条上选择“操作”=>“转发”=>“附件”。

    也可以按 Ctrl-J 发送消息。

更改验证类型时的问题 (6246543)

更改接收邮件服务器的验证类型后,电子邮件和日历可能无法正常工作。

解决方法:重新启动电子邮件和日历。

将附件和本地化内容一起保存时的问题 (6204976)

包含电子邮件和日历的 Evolution 应用程序无法将附件和本地化内容一起保存。

解决方法:无。

联系人文件夹中不完整的联系人列表 (5088514)

导入一个包含多个联系人的 LDAP 数据交换格式文件后,联系人文件夹仅显示其中的部分联系人。这只是显示问题。电子邮件和日历已导入所有联系人。

解决方法:重新启动电子邮件和日历。

登录

登录错误消息

您在登录到 Java Desktop System 会话时可能看到如下错误消息:


Could not look up internet address for hostname.
This will prevent GNOME from operating correctly.
It may be possible to correct the problem by adding 
hostname to the file /etc/hosts

解决方法:确保在 /etc/hosts 文件中正确设置了主机名。请执行以下步骤:

  1. 按如下形式在 /etc/hosts 文件中设置主机名:


    127.0.0.1 localhost loghost hostname
    localhost.localdomain

    hostname 是系统的名称。

  2. 确保主机名在 /etc/nodename 文件中列出。此文件还必须包含下面的行:


    127.0.0.1 localhost loghost hostname
    localhost.localdomain
  3. /etc/inet/ipnodes 文件中添加如下项:


    127.0.0.1 hostname
    

$PATH 问题 (6247943)

在您登录到 Java Desktop System Release 3 时,$PATH 被错误地设置为:


/usr/bin::/usr/dt/bin:/usr/openwin/bin:/bin:
/usr/ucb:/usr/openwin/bin:/usr/dt/bin

解决方法:将以下内容从 $PATH 中删除:

生成的路径应类似于以下示例:


/usr/bin:/usr/dt/bin:/usr/ucb:/usr/openwin/bin:/usr/dt/bin

远程连接问题 (6203727)

使用 dtlogin 远程连接时,某些系统无法连接到 GNOME Display Manager。

解决方法:系统提示您选择远程登录时,请指定 IP 地址而不是主机名。

帮助系统

为音量控制打开的帮助窗口不正确 (6253210)

您想使用 Yelp 浏览器打开音量控制的联机帮助,但是打开的却是键盘辅助功能面板应用程序的帮助文件。

解决方法:无。

联机帮助冻结 (5090731)

如果打开某个应用程序的联机帮助,但并不存在该应用程序的帮助文件,则将显示错误对话框。除非单击“确定”,否则将冻结联机帮助系统,并且无法打开您随后打开的其他应用程序的联机帮助。

解决方法:必须单击错误对话框中的“确定”按钮。

Mozilla 浏览器

无法从 Mozilla 浏览器打印某些文档

如果文档包含基本多语种平面 (Basic Multilingual Plane, BMP) 中没有的 Unicode 字符,则无法从 Mozilla 浏览器打印这些文档。

解决方法:无。

无法在 Mozilla 浏览器中为漫游访问指定用户首选设置 (6200999)

在 Mozilla 浏览器中,可以指定用户首选设置将会在漫游访问服务器之间相互传送。通过执行以下步骤来指定“漫游访问”选项:

  1. 在浏览器中,单击“编辑”并选择“首选设置”。

  2. 选择“漫游用户”,然后选择“项目选择”。

  3. 在右侧面板上选择“用户首选设置”。

但是,选择“用户首选设置”并不生效。

解决方法:无。

快捷键不工作 (6192644)

在 Mozilla 浏览器中,通过按 F7 键启用插入记号浏览。插入记号浏览启用后,快捷键 Ctrl-Home 会将您带到您正在浏览的 Web 页的开头。但是,当浏览某些站点(如 www.yahoo.com 和 www.mozilla.org)时,该快捷键不工作。

解决方法:按 F7 键禁用插入记号浏览。

系统级别问题

用户首选项不完全兼容

GNOME Desktop 早期版本的主帐号中的用户首选项可能与 Java DS Release 3 版本部分不兼容。

解决方法:重新设置您的首选项。请执行以下步骤:

  1. 注销 Java Desktop System。

  2. 单击“会话”,然后选择“故障安全终端”。

  3. 登录。

  4. 在故障安全终端窗口中,输入以下命令:


    % gnome-cleanup exit
    
  5. 再次登录。

    现在您的 GNOME 首选项已被重置。

图形菜单中缺少 GNU 图像处理程序 (6209566)

“图形”菜单中未提供 GNU 图像处理程序 (GNU Image Manipulation Program, GIMP)。

解决方法:请执行以下步骤。

  1. 打开终端窗口。

  2. 编辑 /usr/share/applications/gimp-2.0.desktop 文件。

  3. 更改 ExecTryExec 行,添加 GIMP 二进制文件的全路径:


    TryExec=/usr/sfw/bin/gimp2.0
    Exec=/usr/sfw/bin/gimp-remote-2.0 %u

StarSuite 7 软件联机注册的问题 (6208829)

如果 StarSuite 7 在系统中找不到 Mozilla,则可能无法完成 StarSuite 7 的联机注册。该软件必须能够定位电子邮件和日历应用程序,否则无法成功发送文档。

解决方法:/usr/sfw/bin 添加至 PATH。请执行以下步骤。

  1. 打开终端窗口。

  2. 执行以下命令:


    % export PATH=/usr/sfw/bin:$PATH
    
  3. 要启动 StarSuite 软件,请执行以下命令:


    % soffice
    
  4. 完成 StarSuite 注册过程。

使用录音机时的问题

录音机录制 new.wav 文件时,滑条和侧计数器无法正常工作。

解决方法:无。

音量控制选项无效

音量控制面板应用程序中,用于启动音量控制桌面应用程序的选项无效。

解决方法:无。

使用键盘标识器时的问题 (6245563)

在不同 X 服务器之间切换时,键盘标识器会使键盘无法使用。

解决方法:无。请勿使用键盘标识器。

某些查看选项可能导致文件管理器失败 (6233643)

使用以下“查看”选项时文件管理器可能失败:

根据所使用的“查看”选项,可能会显示以下错误消息:

解决方法:无。每次发生这些错误时,请重新启动文件管理器或在错误对话框中单击“重新启动应用程序”按钮。

无法删除起始目录外部的文件 (6203010, 5105006)

您只能从自己的起始目录文件系统中删除文件。

解决方法:要删除起始目录文件系统外部的文件,请打开终端窗口并使用命令行。

创建特定类型归档文件时的问题 (5082008)

无法使用 Archive Manager 创建以下类型的归档文件:

解决方法:无。

无法在文本编辑器 2.9.1 中键入多字节字符 (4937266)

启用 gedit 文本编辑器中的自动缩进功能后,无法正确键入多字节字符。

解决方法:禁用自动缩进功能。在文本编辑器中执行以下步骤。

  1. 选择“编辑”=>“首选项”。

  2. 在“类别”列表中,选择“编辑器”,然后选择“自动缩进”。

  3. 取消选择“启用自动缩进”选项。

System Administration

本节介绍 Solaris 10 OS 中的系统管理错误。

Sun Patch Manager Tool 2.0 与早期版本不兼容

运行 Sun Patch Manager Tool 2.0 的系统可以管理运行包括 Sun Patch Manager Tool 1.0 的修补程序管理器工具的远程系统。

不过,使用早期版本的修补程序管理器工具的系统无法管理运行 Patch Manager Tool 2.0 的远程系统。早期版本包括:


注 –

Solaris 8 OS 中不存在对修补程序管理器工具的“通用信息模型/基于 Web 的企业管理 (CIM/WBEM)”支持。因此,使用修补程序管理器进行远程管理不适用于 Solaris 8 系统。


仅在全局区域中支持 Sun Remote Services Net Connect

仅在全局区域中支持 Sun Remote Services (SRS) Net Connect。如果执行下列操作之一,会显示错误消息:

错误消息如下所示:


*** package SUNWcstu failed to install - interactive administration required:

Interactive request script supplied by package
pkgadd: ERROR: request script did not complete successfully

Installation of SUNWcstu was suspended (interaction required).
No changes were made to the system.  

*** package SUNWfrunc failed to install - interactive administration required:

Interactive request script supplied by package
pkgadd: ERROR: request script did not complete successfully

Installation of SUNWfrunc was suspended (interaction required).
No changes were made to the system.

解决方法:忽略错误消息。

使用 zoneadm 命令安装非全局区域时可能显示错误或警告消息

使用 zoneadm 命令安装非全局区域时,在软件包安装期间会显示错误或警告消息。这些消息与下例相似:


Preparing to install zone zone1.
Creating list of files to copy from the global zone.
Copying 2348 files to the zone.
Initializing zone product registry.
Determining zone package initialization order.
Preparing to initialize 790 packages on the zone.
Initialized 790 packages on zone.
Zone zone1 is initialized.

Installation of the following packages generated errors: 
SUNWjhrt SUNWmcc SUNWjhdev SUNWnsb SUNWmcon SUNWmpatchmgr

Installation of the following packages generated warnings: 
SUNWj3rt SUNWmc SUNWwbmc SUNWmga SUNWdclnt SUNWlvma SUNWlvmg 
SUNWrmui SUNWdoc SUNWpl5m SUNWpmgr

有关软件包安装的问题记录在包含区域安装日志的 /export/zone1/root/var/sadm/system/logs/install_log 中。

解决方法:无。


注 –

即使已报告这些消息,也仍然可以使用非全局区域。早期 Solaris Express 和 Solaris 10 Beta 发行版中存在软件包安装问题。不过,不生成有关这些问题的通知。从此 Solaris 发行版开始,将正确报告和记录这些错误。


Solaris 产品注册表管理实用程序在区域中无法启动 (6220284)

如果试图在区域中启动 Solaris 产品注册表管理实用程序,则该尝试失败。在区域安装期间,不在区域中复制 productregistry,即 Solaris 产品注册表数据库。因此,该实用程序无法在区域中运行。

解决方法:以超级用户身份,将 productregistry 数据库复制到区域。


# cp /var/sadm/install/productregistry zone_path/var/sadm/install/

在以前的命令中,zone_path 是所创建区域的根目录的路径。

patchadd 对新安装的软件包重新应用修补程序失败 (6219176)

如果在下列情况下重新应用修补程序,patchadd 命令会失败。

  1. 对不包含受该修补程序影响的所有软件包的系统应用该修补程序。

  2. 稍后安装在应用该修补程序时未安装的软件包。

  3. 重新应用该修补程序以修补新安装的软件包。

稍后添加的适用于软件包的修补程序部分未被安装。此时会显示与下列输出类似的消息。


patchadd ~tsk/patches/111111-01
Validating patches...

Loading patches installed on the system...

Done!

Loading patches requested to install.

Done!

The following requested patches are already installed on the system
Requested to install patch 111111-01 is already installed on the system.

No patches to check dependency. 

解决方法:请选择以下解决方法之一。

解决方法 1:如果尚未在系统中创建区域,请使用带 -t 选项的 patchadd 命令修补系统。


# patchadd -t patch-ID

在前一个命令中,patch-ID 是要应用的修补程序的 ID。

解决方法 2:如果已在系统中创建区域,请执行以下步骤。

  1. 回退修补程序。


    # patchrm patch-ID
    
  2. 安装系统中不存在、但受该修补程序影响的其他软件包。


    # pkgadd -d device pkgabbrev
    

    在上一示例中,device 指定要安装的一个或多个软件包的绝对路径。pkgabbrev 指定要安装的软件包的缩写名称。可以指定多个软件包名称。

  3. 重新安装该修补程序。


    # patchadd  patch-ID
    

远程登录服务无法访问修补全局区域后创建的非全局区域 (6216195)

如果创建一个全局区域并对其应用修补程序,则在随后创建的所有非全局区域中都不会启用远程登录服务。例如,这类远程服务包括 rlogintelnet。如果在对全局区域应用修补程序后创建一个非全局区域,则不能从远程登录到该非全局区域。此问题影响那些已使用提供或修改 SUNWcsr 软件包的修补程序进行修补的系统。

解决方法:请选择以下解决方法之一。

解决方法 1:如果尚未引导非全局区域,请执行以下步骤。

  1. 在全局区域,转至非全局区域中的 /var/svc/profile 目录。


    global# cd zone_path/root/var/svc/profile
    

    在上一示例中,zone_path 是指向非全局区域的路径。通过在全局区域中键入以下命令,可以确定指向非全局区域的路径。


    global# zonecfg -z zonename info zonepath
    
  2. 删除 inetd_services.xml 配置文件。


    global# rm inetd_services.xml
    
  3. inetd_services.xml 创建指向 inetd_generic.xml 配置文件的符号链接。


    global# ln -s inetd_generic.xml inetd_services.xml
    
  4. 引导非全局区域。

    有关如何引导区域的更多信息,请参见《System Administration Guide: Solaris Containers-Resource Management and Solaris Zones》

解决方法 2:如果已引导非全局区域,请执行以下步骤。

  1. 执行前一个解决方法中列出的步骤。

  2. 在非全局区域中,启用 /var/svc/profile/inetd_services.xml 配置文件中列出的服务。


    my-zone# svccfg apply /var/svc/profile/inetd_services.xml
    
  3. 重新引导非全局区域。


    my-zone# reboot
    

解决方法 3:在系统中创建区域之前,应用适用于平台的修补程序。

无法从系统中删除现有无盘客户机 (6205746)

如果使用 smdiskless 命令删除无盘客户机,该命令失败。无盘客户机未从系统数据库中删除。将显示以下错误消息:


Failing with error EXM_BMS.

解决方法:添加客户机前取消共享 /export 分区。

Net Connect 3.1.1 安装失败 (6197548)

如果在 Solaris 10 完全安装开始时选择 Net Connect 3.1.1,则安装该产品失败。使用 Solaris 10 Operating System DVD 进行安装时发生此故障。OS 安装完成时,以下错误消息会记录到 /var/sadm/install/logs/ 中的 Net Connect 安装日志中:


Installation of SUNWSRSPX failed.
Error: pkgadd failed for SUNWsrspx 
Install complete. Package: SUNWsrspx

解决方法:OS 安装完成后,执行以下步骤:

  1. 插入 Solaris 10 Operating System DVD 或 Solaris 10 Software - CD 4。

  2. 转至 Net Connect 产品的目录。

  3. 运行 Net Connect 安装程序。


注 –

要下载最新版本的 Sun Net Connect 软件和发行说明,请访问 Sun Net Connect 的门户网站 https://srsnetconnect.sun.com


x86: 安装 Solaris Flash 归档文件时缺省 C 库会导致引导失败 (6192995)

在下列情况下,可能发生有关 Solaris Flash 归档文件的引导失败:

在试图引导克隆系统时,会显示以下错误消息:


WARNING: init exited with fatal signal 9; restarting.

解决方法:执行以下步骤。

  1. 创建归档文件之前,在主系统上卸载 /lib/libc.so.1 库。


    # umount /lib/libc.so.1
    

    此命令使主系统能够使用 libc C 库的基本版本。

  2. 在主系统上创建 Solaris Flash 归档文件。

    有关如何创建 Solaris Flash 归档文件的更多信息,请参见《Solaris 10 安装指南:Solaris Flash 归档文件(创建和安装)》

  3. 在主系统上挂载 /lib/libc.so.1 库。


    # mount -O -F lofs /lib/libc.so.1 /usr/lib/libc/libc_hwcap2.so.1
    
  4. 在克隆系统上安装 Solaris Flash 归档文件。

    有关如何安装 Solaris Flash 归档文件的更多信息,请参见《Solaris 10 安装指南:Solaris Flash 归档文件(创建和安装)》

SPARC: smosservice delete 命令未成功删除所有目录 (6192105)

如果使用 smosservice delete 命令删除无盘客户机服务,该命令不能成功删除所有服务目录。

解决方法:执行以下步骤。

  1. 确保不存在使用该服务的客户机。


    # unshare /export/exec/Solaris_10_sparc.all
    # rm -rf /export/exec/Solaris_10_sparc.all
    # rm -rf /export/exec/.copyofSolaris_10_sparc.all
    # rm -rf /export/.copyofSolaris_10
    # rm -rf /export/Solaris_10
    # rm -rf /export/share
    # rm -rf /export/root/templates/Solaris_10
    # rm -rf /export/root/clone/Solaris_10
    # rm -rf /tftpboot/inetboot.sun4u.Solaris_10
  2. /etc/bootparams 文件中删除以下项。


    fs1-24 boottype=:os

    注 –

    仅在此文件服务器不为任何其他服务提供功能或资源时删除此项。


  3. /etc/dfs/dfstab 文件中删除以下项。


    share -F nfs -o ro /export/exec/Solaris_8_sparc.all/usr
  4. 修改 /var/sadm/system/admin/services/Solaris_10 文件。

    • 如果文件服务器不是 Solaris_10,则删除该文件。

    • 如果文件服务器是 Solaris_10,则删除前三行后的所有项。所删除的行表示 /export/root/templates/Solaris_10 中的服务 USR_PATH 和 SPOOLED ROOT 软件包和支持的平台。

patchadd 命令不支持从 NFS 服务器安装修补程序 (6188748)

如果使用 patchadd 命令以便从另一个系统通过 NFS 安装修补程序,则该命令失败。下例显示失败的 patchadd 操作及其所显示的错误消息:


Validating patches...

Loading patches installed on the system...
[...]
Loading patches requested to install.
[...]
Checking patches that you specified for installation.
[...]
Approved patches will be installed in this order:
[...]
Checking local zones...
[...]
Summary for zones:
[...]
Patches that passed the dependency check:
[...]

Patching global zone
Adding patches...

 Checking installed patches...
Verifying sufficient filesystem capacity (dry run method)...
Installing patch packages...

 Patch Patch_ID has been successfully installed.
See /var/sadm/patch/Patch_ID/log for details
 Patch packages installed:
   SUNWroute
[...]

Adding patches...
 The patch directory
 /dev/.SUNW_patches_0111105334-1230284-00004de14dcb29c7
 cannot be found on this system.  

[...]

Patchadd is terminating.

解决方法:首先将要安装的所有修补程序从 NFS 服务器手动复制到本地系统。然后,使用 patchadd 命令,从已将修补程序复制到其中的本地系统的目录中安装修补程序。

lucreate 命令未创建 RAID-1 卷 (5106987)

如果使用 lucreate 命令创建 /dev/md 目录中没有设备项的 RAID-1 卷(镜像),则该命令失败。不能使用 lucreate 命令镜像文件系统,除非已先使用 Solaris 卷管理器软件创建了镜像。

解决方法:使用 Solaris 卷管理器软件创建镜像文件系统,然后使用 lucreate 命令创建新的引导环境。

有关 lucreate 命令的更多信息,请参见 lucreate(1M)《Solaris 10 安装指南:Solaris Live Upgrade 和升级规划》

有关如何使用 Solaris 卷管理器软件创建镜像文件系统的更多信息,请参见《Solaris Volume Manager Administration Guide》

SPARC: 在挂起和恢复循环时发生的紧急情况可能会导致系统挂起 (5062026)

执行挂起和恢复 (cpr) 循环时发生的系统紧急情况可能导致系统挂起。更常见的情况是在安装了 XVR-1000 图形加速器的 Sun Blade 2000 工作站上发现这一问题。在极少情况下,其他基于 SPARC 的系统也可能在紧急情况中出现相似的挂起现象。发生紧急情况时,不会保存核心转储,也不会在控制台出现提示。如果核心调试程序 (kadb) 处于活跃状态,该问题可能更为普遍。

解决方法:要使系统恢复到可用状态,需手动重新引导系统。

SPARC: 通过使用组合键停止系统可能会导致系统出现紧急情况 (5061679)

如果您试图通过按下如 Stop-A 或 L1-A 等组合键停止系统,则可能出现紧急情况。将显示一条类似以下示例的错误消息:


panic[cpu2]/thread=2a100337d40: pcisch2 (pci@9,700000): 
consistent dma sync timeout

解决方法:不要使用键盘组合键强制系统进入 OpenBoot PROM。

同时使用 ipfs 命令和 -W 选项时失败 (5040248)

ipfs 命令保存和恢复有关网络地址转换 (NAT) 的状态和包过滤状态表的信息。此实用程序防止系统重新引导时网络连接中断。如果发出带有 -W 选项的命令,则 ipfs 保存内核状态表失败。将显示以下错误消息:


state:SIOCSTGET: Bad address

解决方法:无。

所创建的引导环境中未保留对挂载点的权限 (4992478)

在使用 lucreate 创建新的引导环境时,未保留对文件系统挂载点的权限。因此,部分用户进程失败。如果在群集环境中创建新的引导环境,则该群集关闭节点,然后从 CD-ROM 引导以修复挂载点的权限。

解决方法:执行以下步骤。

  1. 创建新的引导环境。


    # lucreate -n newbe -m /:c0t0d0s0:ufs 
    -m /var:c1t0d0s0:ufs -m  /usr:c2t0d0s0:ufs
    

    在上一示例中,lucreate 命令会创建 newbe 引导环境。此例定义下列文件系统和挂载点。

    • root (/) 文件系统挂载在 c0t0d0s0 上。

    • var 文件系统挂载在 c1t0d0s0 上。

    • usr 文件系统挂载在 c2t0d0s0 上。

  2. 挂载新引导环境的根文件系统。


    # mount /dev/dsk/c0t0d0s0 /mnt
    
  3. 有关为引导环境定义的每个挂载点,将权限更改为 755。


    # chmod 755 /mnt/var
    # chmod 755 /mnt/usr
    
  4. 卸载根文件系统。

    # umount /dev/dsk/c0t0d0s0

kill -HUP 并不总是使代理重新读取 snmpd.conf 配置文件 (4988483)

修改 snmpd.conf 的内容后,可以发出命令 kill -HUP snmp Process ID。此命令停止 snmp 进程。然后,该命令向系统管理代理的主代理 (snmpd) 发送信号,以重新读取 snmpd.conf 并实现您引入的修改。该命令可能不会始终使主代理重新读取配置文件。因此,使用该命令可能无法总是激活配置文件中的修改。

除了使用 kill -HUP,还可以在将修改添加到 snmpd.conf 后重新启动系统管理代理。请执行以下步骤:

  1. 成为超级用户。

  2. 键入以下命令:

    # /etc/init.d/init.sma restart

x86: BIOS 引导过程中按 F4 键不能引导服务分区 (4782757, 5051157)

正在引导安装了服务分区和 x86 上的 Solaris 10 OS 的 Sun LX50。按 F4 功能键引导服务分区(如果提供该选项)会使屏幕变为空白,此时系统将无法引导服务分区。

解决方法:当显示“BIOS 引导屏幕”时,请勿按 F4 键。超时后,将显示“当前磁盘分区信息”屏幕,在“零件号”列中选择与 type=DIAGNOSTIC 对应的编号,按回车键。系统将引导服务分区。

Solaris WBEM Services 2.5 守护进程找不到 com.sun 应用程序编程接口提供程序 (4619576)

Solaris WBEM Services 2.5 守护进程找不到已经写入 com.sun.wbem.provider 接口或 com.sun.wbem.provider20 接口的提供程序。即使您为写入这些接口的提供程序创建了一个 Solaris_ProviderPath 实例,Solaris WBEM Services 2.5 守护进程也找不到这些提供程序。

解决方法:为使守护进程能够找到这样一个提供程序,请停止并重新启动 Solaris WBEM Services 2.5 守护进程。


# /etc/init.d/init.wbem stop

# /etc/init.d/init.wbem start

注 –

如果使用 javax API 开发提供程序,则不需要停止并重新启动 Solaris WBEM Services 2.5 守护进程,因为 Solaris WBEM Services 2.5 守护进程会动态识别 javax 提供程序。


一些 com.sun 应用程序编程接口方法调用在 XML/HTTP 传输协议下会失败(4497393、4497399、4497406 和 4497411)

如果选择使用 com.sun 应用程序编程接口而不是使用 javax 应用程序编程接口来开发 WBEM 软件,则只完全支持通用信息模型 (CIM) 远程方法调用 (RMI)。其他协议,如 XML/HTTP,不一定完全支持 com.sun 应用程序编程接口。

下表列出了在 RMI 下能够成功执行、但在 XML/HTTP 下不能成功执行的调用示例:

方法调用 

错误消息 

CIMClient.close()

NullPointerException

CIMClient.execQuery()

CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED

CIMClient.getInstance()

CIM_ERR_FAILED

CIMClient.invokeMethod()

XMLERROR: ClassCastException

使用 Solaris 管理控制台挂载和共享工具不能修改文件系统挂载特性 (4466829)

Solaris 管理控制台挂载和共享工具不能修改对系统很重要的文件系统(如 root (/)、/usr/var)上的挂载选项。

解决方法:请选择以下解决方法之一: