本章介绍已知的运行时问题。
在后续的 Solaris 10 发行版中修复了本章中的某些问题和错误。如果升级了 Solaris 软件,本章中的某些问题和错误可能不再适用。要查看哪些错误和问题不再适用于您特定的 Solaris 10 软件,请参阅附录 A,Solaris 10 操作系统中的集成错误修复表。
公用桌面环境 (Common Desktop Environment, CDE) 中存在 Solaris 10 OS 中的下列错误。
不能使用登录屏幕上“选项”菜单中的“远程登录”项来远程登录多级高可靠扩展版系统。当系统的标签与指定给未加标签系统的标签相同时,可以远程登录该未加标签的系统。
解决方法:有关如何远程登录的信息,请参见《Solaris Trusted Extensions Administrator’s Procedures》中的第 8 章 “Remote Administration in Trusted Extensions (Tasks)”中的说明。
键入 /usr/X11/bin/xrander -s 命令设置较小的屏幕分辨率后,不再显示受信任的窗口条。这会影响受信任的 CDE 桌面但不影响受信任的 Java DS 桌面。不会显示任何错误消息。
解决方法:更改分辨率后,重新启动工作区管理器。从 CDE 工作区菜单中选择“窗口”->“重新启动工作区管理器”,然后单击“确定”。
如果使用 JumpStart 安装方法,该进程可能使用系统标识配置 (sysidcfg) 文件。此文件用于为系统生成特定的 Xsun 配置文件。sysidcfg 文件的 Xsun 配置部分是由命令 kdmconfig -d filename 创建的。不过,在使用缺省 Xorg 服务器的系统上,该命令不创建包含任何 Xorg 配置信息的文件。因此,如果不执行某些其他准备步骤,不能在这些系统上使用 JumpStart 方法。
解决方法:在使用 Xorg 服务器的系统中使用 JumpStart 安装方法之前,请执行以下步骤。
准备要在系统上使用的特定 xorg.conf 文件。将此文件存储在 JumpStart 服务器的 JumpStart 目录中。
使用以下命令之一,创建 xorg.conf 文件:
/usr/X11/bin/Xorg -configure
/usr/X11/bin/xorgconfig
/usr/X11/bin/xorgcfg
创建一个完成脚本,该完成脚本可将 xorg.conf 文件复制到要安装的系统上的 /etc/X11 目录中。例如,该脚本可能包含以下行:
cp ${SI_CONFIG_DIR}/xorg.conf /etc/X11/Xorg.conf |
在自定义 JumpStart 规则文件中,在与要安装的系统类型对应的规则项中包含完成脚本。
执行自定义 JumpStart 安装。
有关如何执行自定义 JumpStart 安装的说明,请参见《Solaris 10 5/08 安装指南:自定义 JumpStart 和高级安装》。第 4 章包含有关 JumpStart 规则文件的信息,而第 5 章包含有关完成脚本的一节。
CDE 桌面环境中的可移除介质自动运行功能暂时从 Solaris 10 软件中删除了。
解决方法:要使用 CD-ROM 或其他可移除介质卷的自动运行功能,必须执行以下操作之一:
从可移除介质文件系统的顶层目录运行 volstart 程序。
按照 CD 附带的说明,从 CDE 的外部访问。
当从桌面删除最后一项后,在同步手持设备时,该项会从手持设备恢复到桌面。例如,“日历”中的最后一个约会或“地址管理器”中的最后一个地址。
解决方法:在同步前从手持设备中手动删除最后一项。
Solaris 10 发行版中存在下列文件系统错误。
从 0.20.46.00-IR 开始的 Dell SAS 6 HBA (LSI 1068) 固件版本引进了一种不兼容,该不兼容可能会阻止 lsiutil 和 raidctl(1M) 命令成功地配置虚拟驱动器。在失败之后,物理驱动器将进入脱机状态,并且不可访问。Solaris 10 5/08 发行版中随附的 raidctl(1M) 以及 ITImpt 5.07.04 版软件包中的 lsiutil 将受到影响。
将显示以下错误消息:
# /usr/sbin/raidctl -C "0.3.0 0.4.0" -s 64k 0 Creating RAID volume will destroy all data on spare space of member disks, proceed (yes/no)? Operation failed |
解决方法:使用 SAS 配置实用程序配置虚拟驱动器。要访问 SAS 配置实用程序,请在 BIOS 引导序列过程中得到提示时输入 Ctrl-C。
在 Intel 多处理器系统上,ata 驱动程序可能会在系统引导过程中超时。当根设备所在的驱动器具有绑定到传统 ata 驱动程序的 HBA 控制器时,会出现这样的超时。在系统引导过程中,这样的超时会导致暂时挂起、硬挂起或出现紧急情况,控制台上会出现类似如下的消息:
scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: reset bus, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: early timeout, target=0 lun=0 gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0): Error for command 'read sector' Error Level: Informational gda: [ID 107833 kern.notice] Sense Key: aborted command gda: [ID 107833 kern.notice] Vendor 'Gen-ATA ' error code: 0x3 gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0): Error for command 'read sector' Error Level: Informational gda: [ID 107833 kern.notice] Sense Key: aborted command gda: [ID 107833 kern.notice] Vendor 'Gen-ATA ' error code: 0x3 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: abort request, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: abort device, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: reset target, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: reset bus, target=0 lun=0 scsi: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0 (ata0): timeout: early timeout, target=0 lun=0 gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0): Error for command 'read sector' Error Level: Informational gda: [ID 107833 kern.notice] Sense Key: aborted command gda: [ID 107833 kern.notice] Vendor 'Gen-ATA ' error code: 0x3 gda: [ID 107833 kern.warning] WARNING: /pci@0,0/pci-ide@1f,2/ide@0/cmdk@0,0 (Disk0): |
解决方法:请选择以下解决方法之一:
为了避免性能下降,解决方法 3 或 4 只应在解决方法 5 尚不可用时临时使用。
解决方法 1:如果系统上有 AHCI,请在 BIOS 中启用它。启用此设置会要求重新安装 Solaris OS。
解决方法 2:在其中的控制器不使用 ata 驱动程序的磁盘上安装 Solaris。
解决方法 3:在 BIOS 设置中禁用 MP,以便只有一个处理器处于活动状态。
解决方法 4:在 Solaris 中禁用 MP,以便只有一个处理器处于活动状态。从 Grand Unified Bootloader (GRUB) 菜单中执行以下步骤:
键入 e 编辑选定的 Solaris 项。
导航到以 kernel 开头的行。
键入 e 切换到 GRUB 编辑模式。
将 -kd 附加到该行。
按 Enter 键接受更改。
键入 b 使用选定的 Solaris 项进行引导。
在 kbmd 提示符下,键入以下命令:
use_mp/W 0 :c |
如果执行系统引导,则继续步骤 10。否则,请安装 Solaris 10 5/08 软件。
在安装结束时,请重新引导系统。重复步骤 1 至 7。
为了使所做的更改永久生效,以便不必在后续的引导过程中重复上述步骤,请执行以下操作:
在完成系统引导之后成为超级用户。
打开 /etc/system 文件。
添加以下行:
set use_mp = 0 |
解决方法 5:禁用微代码更新。键入以下命令:
# mv /platform/i86pc/ucode /platform/i86pc/ucode.disabled |
在系统引导之后,可以手动调用微代码更新:
# ucodeadm -u /platform/i86pc/ucode.disabled/intel-ucode.txt |
如果最初为非全局区域配置了使用 `add fs 子命令挂载的 ZFS 文件系统,并指定了 mountpoint=legacy,则后续区域安装会失败。将显示以下错误消息:
ERROR: No such file or directory: cannot mount </zones/path/root/usr/local> in non-global zone to install: the source block device or directory </path/local> cannot be accessed |
解决方法:安装了非全局区域后,添加对 ZFS 文件系统的访问权限。
ZFS 旨在成为与 POSIX 兼容的文件系统,并且在大多数情况下,ZFS 与 POSIX 兼容。但是,存在两种 ZFS 不能达到 POSIX 兼容测试标准的边界情况:
更新 ZFS 文件系统容量统计信息。
修改达到容量极限的文件系统的现有数据。
相关 CR:
6362314
6362156
6361650
6343113
6343039
如果使用 fdisk -E 命令修改 ZFS 存储池使用的磁盘,该存储池将不可用,并可能导致 I/O 故障或系统出现紧急情况。
解决方法:
请勿使用 fdisk 命令修改 ZFS 存储池使用的磁盘。如果要访问 ZFS 存储池使用的磁盘,请使用 format 实用程序。通常情况下,不应修改文件系统正在使用的磁盘。
以下是 Veritas NetBackup 和 Brightstor ARCserve Backup 产品的问题。
Veritas NetBackup 产品可用于备份 ZFS 文件,且此配置是受支持的。但是,该产品目前不支持备份或恢复 ZFS 文件中的 NFSv4 样式 ACL 信息。传统的权限位和其他文件属性可以被正确地备份和恢复。
如果用户试图备份或恢复 ZFS 文件,则 ZFS 文件中的 NFSv4 样式 ACL 信息将被删除。不会显示任何指示 ZFS 文件中的 ACL 信息被删除的错误消息。
对 ZFS/NFSv4 ACL 的支持功能正处于开发过程中,预计在下一 Veritas NetBackup 发行版中提供。
解决方法 1:
从 Solaris 10 8/07 发行版开始,tar 和 cpio 命令都可以正确处理具有 NFSv4 样式 ACL 的 ZFS 文件。
使用带有 -p 选项的 tar 命令或带有 -P 选项的 cpio 命令将 ZFS 文件写入一个文件。然后,使用 Veritas NetBackup 备份 tar 或 cpio 归档文件。
解决方法 2:
除使用 Veritas NetBackup 之外,还可以使用 ZFS send 和 receive 命令备份 ZFS 文件。这些命令会正确地处理 ZFS 文件的所有属性。
BrightStor ARCserve Backup (BAB) Client Agent for UNIX (Solaris) 可用于备份和恢复 ZFS 文件。
但在备份过程中不保留 ZFS NFSv4 样式 ACL。将保留传统 UNIX 文件权限和属性。
解决方法:如果要保留具有 NFSv4 样式 ACL 的 ZFS 文件,请使用带有 -p 选项的 tar 命令或带有 -P 选项的 cpio 命令,将 ZFS 文件写入一个文件。然后,使用 BAB 备份 tar 或 cpio 归档文件。
如果在运行 Solaris 10 6/06 发行版之前版本的系统(该系统中没有 embedded_su 修补程序)中添加 Solaris 10 8/07 或 Solaris 10 5/08 发行版中的 SUNWzfsg 软件包,则 ZFS Administration 应用程序向导无法完全正常工作。
如果尝试在没有 embedded_su 修补程序的系统上运行 ZFS Administration 应用程序, 您将只能浏览 ZFS 配置。将显示以下错误消息:
/usr/lib/embedded_su: not found |
解决方法:
在运行 Solaris 10 6/06 发行版之前版本的系统中添加 embedded_su 修补程序 (119574-02)。
对于一个使用 Solaris iSCSI 软件启动器连接的目标设备,如果主机的文件系统 I/O 出现了紧急情况,该 I/O 可能无法刷新或同步该目标设备。这种无法刷新或同步的情况可能导致文件系统损坏。不会显示任何错误消息。
解决方法:
使用日志文件系统(如 UFS)。从 Solaris 10 开始,缺省情况下启用 UFS 日志记录功能。有关 UFS 的更多信息,请参见《系统管理指南:设备和文件系统》中的“Solaris 10 发行版中文件系统方面的新增功能”。
将 NFSv4 服务器从 Solaris Express 6/05 升级到 Solaris Express 7/05 或更高版本(包括所有 Solaris 10 更新)之后,程序可能会遇到 EACCES 错误。另外,各目录可能错误地显示为空。
要避免这些错误,请卸载,然后重新挂载客户机文件系统。在卸载失败的情况下,可能需要通过使用 umount -f 强制卸载文件系统。另外,也可以重新引导客户机。
如果使用不同的 Solaris 10 早期版本在网络中安装客户机和服务器,则 NFSv4 访问控制列表 (ACL) 功能可能无法正常运行。使用这些功能的受影响的 ACL 功能和命令行实用程序如下所示:
acl()
facl()
getfacl
setfacl
有关这些功能和实用程序的更多信息,请参见它们各自的手册页。
例如,在包含下列配置的网络中可能观察到错误:
运行 Solaris 10 Beta 软件的客户机
运行 Solaris 10 软件的服务器
下表说明对于不同的 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 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) |
解决方法:无。
mkfs 命令可能无法在具有某一特定磁盘几何参数 (disk geometry) 且大小超过 8 GB 的磁盘上创建文件系统。由此得到的柱面组大小对于 1 KB 碎片来说太大。柱面组的大小过大意味着在一个块中无法容纳多余的元数据。
将显示以下错误消息:
With 15625 sectors per cylinder, minimum cylinders per group is 16. This requires the fragment size to be changed from 1024 to 4096. Please re-run mkfs with corrected parameters. |
解决方法:改用 newfs 命令。或者,如果使用 mkfs 命令,请指定较大的碎片大小(如 4096)。
系统在大小大于或等于 1 TB 的分区上不能生成转储。如果系统中存在此类设备,则在系统引导后,在发生系统紧急情况后可能发生下列问题:
系统不保存转储。
将显示以下消息:
0% done: 0 pages dumped, compression ratio 0.00, dump failed: error 6 |
解决方法:将系统的转储设备大小配置为小于 1 TB。
如果使用 smosservice 命令将 OS 服务添加到 UFS 文件系统,会显示没有足够可用磁盘空间的消息。此错误特定于贴有 EFI 标签的磁盘上的 UFS 文件系统。
解决方法:完成以下解决方法。
应用 SMI VTOC 磁盘标签。
重新创建文件系统。
重新运行 smosservice 命令。
Solaris 10 发行版中存在以下与硬件相关的问题和错误。
使用 Solaris Live Upgrade 从 Solaris 10 8/07 发行版升级到 Solaris 10 5/08 发行版后,有些桌面系统可能会丢失对磁盘(其根磁盘除外)的访问。这是电源管理系统中的一个错误造成的。
将显示以下错误消息:
System can't access disk. |
解决方法:对系统禁用电源管理功能。请执行以下步骤:
编辑 /etc/power.conf 配置文件,并将 autopm 项从 default 更改为 disable。
使用 pmconfig -r 命令更新电源设置。
重新引导系统。
在使用 LSI SAS PCI-E 主机总线适配器 (host bus adapter, HBA)(如 SG-XPCIE8SAS-E-Z、SG-XPCIE4SAS-Z、SG-XPCIE4SAS3-Z 和 SG-PCIE8SAS-Z)的 x64 系统上,如果安装了 4 GB 以上的 RAM,将无法启用 MPxIO。
要确认系统是否受到影响,请键入 prtpicl- v 命令。在该命令的输出中搜索符合以下条件的设备:使用 pci1000,56 或 pci1000,58 兼容属性,存在 pcie-capid-reg 属性并且 revision-id 属性小于或等于 2。例如:
pci1000,56 AND pcie-capid-reg exists AND revision-id <= 2 |
或
pci1000,58 AND pcie-capid-reg exists AND revision-id <= 2 |
解决方法:从 http://sunsolve.sun.com 下载安装修补程序 125082-13。
涉及最低 CPU ID 的动态重新配置 (Dynamic reconfiguration, DR) 操作可能会导致域出现紧急情况。将显示以下错误消息:
panic[cpu40]/thread=2a1008ebca0: BAD TRAP: type=10 rp=xxxxxxx addr=xxxxxxx mmu_fsr=0 |
解决方法:不使用 DR 标识具有最低 CPU ID 的 CPU 所在的系统板。使用 prtdiag 命令标识具有最低 CPU ID 的 CPU。
在装有 Solaris 10 5/08 发行版的 Sun SPARC® Enterprise T5220 计算机上,Niagara Crypto Provider (NCP) 设备驱动程序出现性能降低。不会显示任何错误消息。
解决方法:将下行添加到 /platform/sun4v/kernel/drv/ncp.conf 配置文件中:
ncp-threads-per-core=6; |
当存在下面任一情况时,deleteboard(8) 和 moveboard(8) DR 命令可能会挂起:
双列直插式内存模块 (dual in-line memory module, DIMM) 已降级。
域中包含具有不同内存大小的系统板。
不会显示任何错误消息。
解决方法:如果 DR 命令挂起,请重新引导域来恢复。
如果存在上面列出的任一情况,请避免执行 DR 操作。
要确定系统中是否包含已降级的内存,请使用 XSCF showstatus 命令。要确定域中是否包含具有不同内存大小的系统板,请使用 XSCF showdevices 命令。还可以对域使用 prtdiag 命令来显示系统板的内存大小列表。
在具有极大内存配置的系统上,ZFS 可能在所有系统板上分配内核内存。进行动态内存重新配置需要有一个空闲系统板,这样,系统板上要进行动态重新配置的内存便能复制到空闲系统板。动态内存重新配置意味着,在具有极大内存配置且运行 ZFS 的系统上不能动态重新配置内存。高端 SunFireTM 服务器可以重定位内核页,因此避免了该问题。对于有 32 个以上内核的域,这些服务器必须启用内核页重定位 (kernel page relocation, KPR)。不会显示任何错误消息。
解决方法:通过在 /etc/system 文件中设置 zfs_arc_max 参数,减少 ZFS 可分配的内核内存量。以下示例将最大大小设置为 512 MB。
set zfs_arc_max = 0x20000000 |
执行 mpathadm show logical-unit 子命令时列出的是 Current Load Balance 属性的负载平衡全局配置值。但 csi_vhci.conf 中更改特定产品的负载平衡类型的条目并不会反映在 mpathadm 输出中,即使该设置处于活动状态也是如此。
如果注册工具的后台进程仍在运行,Elite3D 和 Creator3D 帧缓存器会停止电源管理。当系统处于电源管理状态时,该故障会降低省电效果。在某些情况下,系统暂停时可能也会挂起。不会显示任何错误消息。在系统暂停或恢复操作期间,系统可能会挂起。
解决方法:
在每次登录后大约 60 秒,运行以下命令:
# pkill -f basicreg.jar # pkill -f swupna.jar |
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 页。
由于这些设备与 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。
本 Solaris 发行版支持 USB 1.1 和 USB 2.0 设备。下表是工作于特定配置下的 USB 设备的摘要。连接类型可以是直接连接到计算机或通过 USB 集线器连接到计算机。注意,USB 1.1 设备和集线器是低速或全速的。USB 2.0 设备和集线器是高速的。有关操作的端口和速度的详细信息,请参见《系统管理指南:设备和文件系统》。
表 2–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 发行版中某些驱动程序和接口的限制:
已为所有设备类型关闭此功能。在 detach() 函数的 DDI_SUSPEND 代码中,应返回 DDI_FAILURE。
此功能不可用于 USB 设备。不要创建电源管理组件。请编写驱动程序,以便仅在创建电源管理组件时调用 pm_raise_power() 和 pm_lower_power()。
交互式设备(如可拆卸介质)的电源管理与监视器和驱动监视器显卡的电源管理相联系。如果屏幕活动,则 CD-ROM 驱动器和软盘等设备仍然处于全电模式。在没有监视器的系统上,这些设备可切换到低电模式。要恢复 CD 或软盘的电源,键入 volcheck 以便从每个可拆卸设备获得最新状态。
或者,您可以使用 Dtpower GUI 禁用系统的电源管理。通过禁用电源管理,这些设备将始终处于全电模式。
在缺省情况下,kdmconfig 程序指定 Generic US-English(104-Key) 作为连接到系统的键盘类型。如果系统键盘不是美国英语键盘,则必须在安装期间手动指定键盘类型。否则,会使用与系统的实际键盘类型不一致的缺省键盘规范继续安装。
解决方法 1:如果系统键盘不是美国英语键盘,请在安装期间执行以下步骤:
当显示“为安装建议的窗口系统配置”时,按 Esc 键。
“为安装建议的窗口系统配置”中的信息(包含键盘类型)仅显示 30 秒。如果希望更改配置设置,必须在 30 秒之内按 Esc 键。否则,会继续按照所显示的设置进行安装。
将键盘类型更改为与系统键盘对应的类型。
按 Enter 键接受更改,然后继续安装。
解决方法 2:如果想更改已在运行 Solaris 10 OS 的系统的键盘类型,请使用 kdmconfig 程序。选择适用于系统所运行的 X 服务器的类型的选项。
如果系统正在运行 Xsun 服务器,请执行以下步骤:
运行 kdmconfig。
使用“更改键盘”选项更改键盘类型。
保存配置。
如果系统正在运行缺省 Xorg 服务器,请执行以下步骤:
运行 kdmconfig。
选择 Xsun 服务器。
使用“更改键盘”选项更改键盘类型。
保存配置。
再次运行 kdmconfig 以切换到 Xorg 服务器。
下列主机总线适配器 (HBA) 的 jfca 在这些 HBA 连接到磁带设备时可能导致系统出现紧急情况或引起 I/O 故障:
SG-PCI1FC-JF2
SG-PCI2FC-JF2
在运行特定操作时,这些 HBA 的 jfca 驱动程序容易出现竞争情况,从而导致错误。相应操作如下所示:
链接复位
循环复位
切换复位
重复链接故障
可能显示与下例相似的错误消息:
I/O 故障消息
jfca: [ID 277337 kern.info] jfca4: Sequencer-detected error. Recover immediately. last message repeated 18376 times jfca: [ID 716917 kern.notice] jfca4: ExgWarning: SendVerify(1): SHOULD ABORT THE ORIG I/O PKG=30007520bd8! scsi: [ID 107833 kern.warning] WARNING: /pci@1e,600000/SUNW,jfca@3,1/fp@0,0/st@w2100001086108 628,1 (st3): SCSI transport failed: reason 'timeout': giving up |
系统紧急情况消息
panic[cpu1]/thread=2a100497cc0: BAD TRAP: type=31 rp=2a1004978d0 addr=a8 mmu_fsr=0 occurred in module "jfca" due to a NULL pointer dereference |
解决方法:不要将磁带设备连接到 SG-PCI1FC-JF2 或 SG-PCI2FC-JF2 HBA。
如果 Quad 快速以太网 (QFE) 卡与下列任何适配器共享同一总线,会出现总线争用:
Sun GigaSwift 适配器
Sun 双千兆位以太网和双 SCSI/P 适配器
Sun Quad Gigaswift 以太网适配器
这些适配器使用的 ce 驱动程序的无限成组传送参数在缺省情况下启用。因此,仅很少或无总线时间可用于共享同一总线的 QFE 端口。
解决方法:不要使 QFE 卡与列表中的网络适配器共享同一总线。
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() 迁移出驱动程序的指南,请参阅《编写设备驱动程序》中的附录 B “Solaris DDI/DKI 服务汇总”。
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 适配器,如下例所示:
X1018A (SBus: F501-2739-xx)
X6540A (PCI: F375-0005-xx)
本节为升级到新的 Solaris 10 发行版的 iPlanetTM 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:
需要恢复 Directory Server 5.1 数据。
希望将数据迁移到 Directory Server 5 2005Q1。
在 Solaris 10 发行版中,手动安装 Directory Server 5.1。执行以下步骤:
将 Solaris 10 Software - 5 CD 插入 CD-ROM 驱动器中。
成为超级用户。
在终端窗口中,安装 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 |
完成安装后,配置 iPlanet Directory Server 5.1。请参阅《System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP)》中的第 11 章 “Sun ONE Directory Server Configuration”。
两个 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 中的迁移说明。
在终端窗口上,检查系统中是否存在 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 以继续迁移。
将 iPlanet Directory Server 5.1 数据库迁移到当前版本。有关说明,请参阅 http://docs.sun.com/coll/DirectoryServer_05q1 上的 Sun Java System Directory Server 的文档集合。
迁移数据后,确保使用在迁移前备份目录数据的相同方法继续备份目录数据。未来的灾难恢复可能需要已迁移的数据库。
下列问题涉及内核调试程序。
在 x86 平台上的 Solaris 10 OS 中使用 dbx 调试器调试可通过信号处理程序发出或传送信号的程序时,dbx 可能会收到来自内核的意外的 SIGTRAP 信号,该信号会导致调试器挂起。在以下情形下可能会发生这种情况:当 dbx 单步执行时、遇到断点时、搜集运行时检查 (runtime checking, RTC) 数据时,或者执行任何其他依赖于信号捕获的活动时。
在某些情况下,当 dbx 挂起时会显示意外的 SIGTRAP 信号警告。例如:
dbx: internal warning: unexpected SIGTRAP! |
在其他情况下,dbx 指示收到 SEGV 信号。例如:
signal SEGV (no mapping at the fault address) in main at line 29 in file "test.c" |
在这种情况下,当用户键入 cont -sig SEGV 命令继续执行 SEGV 信号时,dbx 会显示意外的 SIGTRAP 警告。
安装内核修补程序 127112 后,此错误会引入到 x86 平台上的 Solaris 10 OS 中。
解决方法:请不要安装内核修补程序 127112。如已经安装该内核修补程序,请将其卸载。有关此错误的更多信息,请参见 http://developers.sun.com/sunstudio/support/news/index.jsp 上的 "Sun Studio Support News" 页。
在处理某些 64 位可执行文件和库时,dbx 调试程序因内存访问失败而终止。但是,该问题并不影响这些 64 位对象的正常使用。将显示一条类似以下示例的错误消息:
dbx: internal error: signal SIGBUS (invalid address alignment) |
解决方法:改为使用 mdb 调试程序或 Solaris 动态跟踪工具。这些替代工具可以诊断使用 64 位对象的进程。
运行 Solaris 内核调试程序以调试活动系统的系统可能循环,并显示不完整的错误消息。当 OpenBoot PROM 的主 CPU 更改时发生此循环。系统复位即可恢复系统操作。不过,对原始故障的跟踪将会丢失。因此,无法执行对致命复位的诊断。
解决方法:当系统处于 PROM 级别时,会显示 OpenBoot 的 ok 提示符。在具有多个 CPU 的系统中,ok 提示符前面是括在花括号中的数字。此数字表示系统中的活动 CPU。要在处于 PROM 级别时运行调试会话,请执行以下步骤:
通过键入以下命令,将 pil 提高到 f:
{0} ok h# 0f pil! |
使用 switch-cpu 命令,选择性地从当前活动的 CPU 切换到另外的 CPU。例如,要从 CPU #0 切换到 CPU #1,请键入以下命令:
(0) ok 1 switch-cpu |
现在,ok 提示符前面是要切换的 CPU 的编号。
{1} ok |
运行调试程序。
在调试程序会话结束时,发出 reset-all 命令以使系统恢复为正常使用。
确保将系统升级到 OpenBoot PROM 的最新版本。
本节介绍 Solaris 10 OS 中存在的本地化问题。
当您登录到 UTF-8 或亚洲语言环境的受信任 Java DS 时,缺省情况下,每个标签中都会出现输入法切换器应用程序 iiim-panel。因此,在多标签环境中,将会出现多个 iiim-panel,这会让用户感到混淆。
不会显示任何错误消息。
解决方法:停止使用 iiim-panel。请执行以下步骤:
右键单击 iiim-panel 并选择“首选项”。此时将显示输入法首选项编辑器 iiim-properties。
从“常规”选项卡中的“输入法状态和切换器放置”列表中,选择“无”或“连接到每个应用程序”。
按“应用”或单击“确定”按钮。
要切换输入语言,还可以使用热键。要启用热键,请执行以下步骤:
在 iiim-properties 中转至“其他”选项卡。
选中“使用热键启用语言/文字选项窗口”选项。
按“应用”或单击“确定”按钮。
选择“连接到每个应用程序”后,将不会显示 GTK 应用程序的语言切换器列表。可以使用热键切换输入语言。
如果未启用 Wnn8 服务器,则不能使用 Wnn8 日文输入法。
解决方法:启用 Wnn8 服务器:
# svcadm enable wnn8/server |
此外,通过运行 iiim-properties 命令选择 Wnn8 作为日文引擎。
具有主管理员权限的用户在特定语言环境下无法使用输入法,即该用户无法正常输入字符。工作区中不显示输入法状态。不会显示任何错误消息。
解决方法:将以下行添加至 /etc/security/exec_attr 文件:
Primary Administrator:solaris:cmd:::/usr/bin/csh:uid=0;gid=0 Primary Administrator:solaris:cmd:::/usr/bin/ksh:uid=0;gid=0 Primary Administrator:solaris:cmd:::/usr/bin/sh:uid=0;gid=0 |
有关文件格式的信息,请参见 exec_attr(4) 手册页。
将 OS 升级到 Solaris 10 6/06 或 Solaris 10 11/06 发行版时,输入法框架和各个输入法会从 rev.10 升级到 rev.12。但不支持注音输入法。此外,无法使用功能键 F2 和 F3 切换输入法。
解决方法:使用拼音输入法通过汉语拼音键入繁体中文字符。使用 Ctrl+Shift 切换输入法。
在 ru_RU.KOI8-R 和 ru_RU.ANSI1251 语言环境下,AltGr 键无法用作俄文 Xsun 布局的模式切换器。
解决方法 1:切换至 ru_RU.UTF-8 或 ru_RU.ISO8859-5 语言环境。
解决方法 2:使用 IIIMFTM 而非俄文键盘布局。
如果您的 x86 系统使用 Xorg 作为缺省 Xserver,则 ar 语言环境中不显示阿拉伯字体 (iso7759-6)。如果正在使用 XSun 而不是 XOrg,则不发生此错误。
解决方法:执行以下步骤。
以超级用户身份编辑 /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 |
重新引导系统。
或者,可以登录到 ar_EG.UTF-8 或其他 UTF-8 语言环境。
如果您在 PDA 设备与 Solaris CDE 之间交换多字节数据,则数据在两种环境中都可能会被破坏。
解决方法:在运行Solaris PDASync 应用程序前,使用 PDA 备份实用程序备份个人计算机上的数据。如果意外地交换了多字节数据并破坏了该数据,请从备份中恢复 数据。
在 GNOME 中,当选择某些阿拉伯字体时,不显示字符。当您使用 GNOME 字体属性菜单为应用程序、桌面或窗口标题选择字体时,会出现此问题。受影响的字体包括:
Akhbar MT(常规、粗体)
Shayyal MT(常规、粗体)
Naskh MT(常规、粗体)
不会显示任何错误消息。
解决方法:
请使用新提供的任何 Kacst 字体系列在 GNOME 应用程序中显示阿拉伯字符。
UTF-8 语言环境支持多种语言输入,但是,在保存会话的应用程序中,如果登录后首先单击了鼠标按钮 1,则语言切换功能不起作用。Java 桌面系统 (Java Desktop System, Java DS) 中会发生此问题。不会显示任何错误消息。
解决方法:
在单击任何应用程序之前,请在背景工作区上单击鼠标按钮 1 或“启动”菜单。
Mozilla 1.7 中的快捷键不常见,尤其是在西班牙语言环境中。例如,Ctrl-S 同时用作复制和保存。不会显示任何错误消息。
解决方法:
在产品菜单中找到指定给用户操作的快捷键。
迁移到 UTF-8 语言环境后,这些文件将影响用来导入或导出数据的方法。
Microsoft Office 文件以 Unicode 进行编码。StarSuite 应用程序可以读写用 Unicode 编码的文件。
使用诸如 Mozilla Composer 的 HTML 编辑器编写的 HTML 文件,或者使用 Web 浏览器保存的 HTML 文件通常包含一个 charset 编码标记。在导出或导入之后,您可以根据 HTML 文件中的编码标记使用 Mozilla Navigator Web 浏览器浏览此类 HTML 文件,或者使用 Mozilla Composer 编辑这些文件。
某些 HTML 文件可能显示乱码。此问题通常是由下列原因造成的:
charset 编码标记不正确。
charset 编码标记丢失。
要在 HTML 文件中查找 charset 编码标记,请执行以下操作:
使用 Mozilla 打开文件。
按 Ctrl-i 或单击“查看”,打开“查看”菜单。
单击“页面信息”。
charset 信息位于“常规”选项卡的底部,例如:
Content-Type text/html; charset=us-ascii |
如果字符串 charset=us-ascii 与文件的实际编码不匹配,则文件可能显示为已损坏。要编辑 HTML 文件的编码,请执行下列操作:
使用 Mozilla Composer 打开文件。
打开“文件”菜单。
选择“另存为字符集”。
选择正确的编码。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 的应用程序,您可以在前面板中创建启动器,以便在传统语言环境中启动应用程序。也可以直接从命令行启动应用程序。要为应用程序创建启动器,请执行以下步骤。
右击要放置启动器的面板。
选择“添加到面板”->“启动器”。
使用如下格式在“创建启动器”对话框的“命令”字段中键入项:
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 |
单击“确定”在面板上创建启动器。
如果需要运行特定于某个传统语言环境的 CLI(command line interface,命令行界面)应用程序,请先在该传统语言环境中打开一个终端窗口,然后在同一终端窗口中运行该 CLI 应用程序。要在传统语言环境中打开终端窗口,请输入以下命令:
eng LANG=locale LC_ALL=locale GNOME-TERMINAL –disbable-factory. |
通过在当前终端窗口的“设置字符编码”菜单中更改编码,您可以在该终端窗口中将语言环境设置从 UTF-8 切换到传统语言环境,而不必在传统语言环境中打开新的终端窗口。然后,还必须将 LANG 和 LANG 环境变量设置为当前的 shell。
Solaris OS 中增加了对某些键盘布局的软件支持。使用此软件的用户可以根据自己的语言需要来更改标准的美国键盘布局,从而更灵活地进行键盘输入。
目前,以下键盘布局类型还没有可用的硬件:
阿尔巴尼亚 |
白俄罗斯 |
白俄罗斯 |
加拿大法语 |
克罗地亚 |
捷克语 |
丹麦 |
爱沙尼亚 |
匈牙利 |
冰岛 |
拉脱维亚 |
立陶宛 |
英属马耳他 |
美属马耳他 |
波兰 |
巴西葡萄牙语 |
罗马尼亚 |
塞尔维亚及黑山 |
斯洛伐克 |
斯洛文尼亚 |
解决方法:请选择以下解决方法之一:
解决方法 1:要利用此键盘软件,请使用 kbd -s 命令行实用程序来设置键盘输入。对于使用 UTF-8 语言环境的桌面会话,请使用输入法首选项编辑器。如果 kbd -s 实用程序中不包括必需的键盘布局,请使用解决方法 2。
解决方法 2:修改 /usr/openwin/share/etc/keytables/keytable.map 文件。例如,对于加拿大类型 6 键盘,请进行以下更改:
将 /usr/openwin/share/etc/keytables/keytable.map 文件中的 US6.kt 项更改为 Canada6.kt。修改后的项应该如下所示:
6 0 Canada6.kt |
重新引导系统使更改生效。
在欧洲 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 发行版中存在以下联网错误。
对 nxge 驱动程序运行 kstat 可能会导致系统出现紧急情况。但是,这种情况极少遇到。
解决方法:不要对 nxge 驱动程序运行 kstat。
NFS 服务器和使用远程直接内存访问 (Remote Direct Memory Access, RDMA) 的客户机之间可能出现连接错误。由于这些错误,缓冲池资源将会耗尽,系统将出现紧急情况。将显示以下错误消息:
rpcib: WARNING: rib_rbuf_alloc: No free buffers! |
解决方法:请选择以下解决方法之一:
配置 NFS 服务器以启用 TCP。在 /etc/default/nfs 文件中,更改 (NFSD_PROTOCOL=tcp)。
使用 proto=tcp 挂载选项从客户机端挂载 NFS 文件系统。
有关更多信息,请参见 mount_nfs(1M) 和 nfs(4) 手册页。
如果某一 iSCSI 目标或某一阵列在其 send target 响应中返回了多个 IP 地址,则启动器仅考虑列表中最后一个地址(而非第一个地址),这与以前的发行版中的情况一样。因此,如果最后一个 IP 地址错误或无效,指向此目标的连接将失败。
解决方法:针对其 send target 响应中的每个条目,返回不同的目标入口组标记 (target portal group tag, TPGT)。启动器将尝试与所有 IP 地址建立连接,以使连接成功。
系统解释域 (Domain of Interpretation, DOI) 是不可配置的。当使用 Solaris Management Console 创建新的受信任网络模板时,Solaris Management Console 会将 DOI 设置为 0,Solaris 高可靠扩展版无法正常工作。会显示各种错误消息。
解决方法:使用 Solaris Management Console 将 DOI 设置为 1。
在此 Solaris 发行版中,在缺省情况下已禁用 IP 转发。无论其他系统配置如何,此设置都适用于 IPv4 和 IPv6。具有多个 IP 接口(以前转发 IP 包)的系统缺省情况下不再具有此自动功能。要在多主系统中启用 IP 转发,管理员必须手动执行其他配置步骤。
解决方法:命令 routeadm 启用 IP 转发。因使用 routeadm 而产生的配置更改在系统重新引导期间持续生效。
要启用 IPv4 转发,请键入 routeadm -e ipv4-forwarding。
要启用 IPv6 转发,请键入 routeadm -e ipv6-forwarding。
要对当前运行的系统应用启用的 IP 转发配置,键入 routeadm -u。
有关 IP 转发的更多信息,请参见 routeadm(1M) 手册页。
可以对区域进行配置,使其 IP 地址包含在 IP 网络多路径 (IPMP) 组中。《系统管理指南:Solaris Containers-资源管理和 Solaris Zones》中的“如何将 IP 网络多路径功能扩展到共享 IP 非全局区域”中介绍了配置过程。
当 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 |
解决方法:至少修复该组中的一个网络接口。
如果启用了 DataDigest,则 Internet SCSI (iSCSI) 目标可能会报告循环冗余码校验 (cyclic redundancy check, CRC) 错误。传送到 iSCSI 启动器后更新输入/输出缓冲区的用户应用程序可能会导致 CRC 计算错误。当目标以 CRC 错误作为响应时,iSCSI 启动器会以正确的 DataDigest CRC 重新传送数据,从而维护了数据完整性。但是,影响了数据的传送性能。不会显示任何错误消息。
解决方法:请勿使用 DataDigest 选项。
如果在两个 IP 节点之间配置多个 IP 隧道,并启用 ip_strict_dst_multihoming 或其他 IP 过滤器,会导致数据包丢失。
解决方法:选择以下选项之一:
先在两个 IP 节点之间配置一个隧道,然后使用带有 addif 选项的 ifconfig 命令,向该隧道添加地址。
不要在两个 IP 节点之间的隧道上启用 ip_strict_dst_multihoming。
Solaris 10 发行版中存在以下安全问题。
如果将 Kerberos 配置为对 Kerberos 数据库使用 LDAP 后端,krb5kdc/kadmind 在通过 SMF 运行时将无法启动。krb5kdc/kadmind 将处于维护状态。
解决方法:键入以下命令:
echo "something" >/var/krb5/principal |
除非使用的是 Kerberos LDAP 数据库后端,否则请不要使用此解决方法。如果使用的是默认的 db2 后端,此解决方法将破坏 Kerberos 数据库。
为 LDAP (pam_ldap) 启用了 PAM 帐户管理模块以后,用户必须有登录系统的口令。因此基于无口令设置的登录将失败,包括使用以下工具的登录:
远程 shell (rsh)
远程登录 (rlogin)
安全 shell (ssh)
解决方法:无。
如果某个应用程序使用 HTTP 接口发送令牌环时使用了超范围的参数,Sun StorEdgeTM T3 系统可能会出现紧急情况。
本节介绍涉及 Solaris 10 OS 的服务管理工具的问题。有关 Solaris OS 中此新增功能的更多信息,请参见《Solaris 10 新增功能》中的“Solaris Service Manager”。
在系统启动期间,在远程文件系统和命名服务可用之前,控制台或 ssh 等登录服务有时会启动。因此,可能无法识别用户名或用户的起始目录不可用。
解决方法:如果发生错误,请等待几秒钟,然后重新登录。也可以从本地帐户查看系统状态。
Solaris 10 OS 中存在下列智能卡错误。
如果 ocfserv 终止并且显示被锁定,则不论插入还是取出智能卡,系统都保持锁定状态。
解决方法:按照以下步骤解除系统锁定:
远程登录到 ocfserv 进程终止的计算机。
成为超级用户。
在终端窗口中键入以下命令,终止 dtsession 进程。
# pkill dtsession |
ocfserv 重新启动,智能卡登录并恢复功能。
下一节介绍 Solaris 10 OS 中某些命令和标准的行为变化。
此发行版中修订了以下 Solaris 高可靠扩展版手册页:
add_allocatable(1M)
remove_allocatable(1M)
label_to_str(3TSOL)
tsol_getrhtype(3TSOL)
tnzonecfg(4)
无法使用 man 命令查看已修订的手册页。要查看已修订的手册页,请参见《Solaris Trusted Extensions Reference Manual》。
Solaris 10 OS 包含 Bash 2.0.5b。此 shell 不再自动导出下列环境变量:
HOSTNAME
HOSTTYPE
MACHTYPE
OSTYPE
即使 shell 为这些变量分配缺省值,此新行为也适用。
解决方法:手动导出这些变量。
/usr/bin/ln 的行为已更改为符合从 SVID3 到 XCU6 的所有标准。如果使用不带 -f 选项的 ln 命令链接至现有目标文件,则无法建立链接。而是将诊断消息写入标准错误,且该命令继续链接任何其他源文件。最后,ln 命令退出,并显示错误值。
例如,如果文件 b 存在,语法 ln a b 生成以下消息:
ln: b: File exists |
此行为更改影响包含不带 -f 选项的 ln 命令的现有 shell 脚本或程序。过去运行的脚本现在在 Solaris 10 OS 中可能失败。
解决方法:将 -f 选项与 ln 命令一起使用。如果有执行链接实用程序的现有脚本,请确保修改这些脚本以符合命令的新行为。
在 Solaris 10 OS 中,tcsh 已升级为版本 6.12。此版本不再接受名称中使用破折号或等号的环境变量。包含 setenv 行且在 Solaris 早期版本中起作用的脚本在当前 Solaris 10 发行版中可能生成错误。将显示以下错误消息:
setenv: Syntax error |
有关更多信息,请参阅 Solaris 10 OS 的 tcsh 手册页。
解决方法:不要在环境变量名称中使用破折号或等号。
在严格符合 C 标准的模式下生成的应用程序可能受某些库功能的行为更改的影响。例如,使用 cc -Xc 或 c89 编译模式编译的应用程序。下列库功能的行为已更改:
fgetc()
fgets()
fgetwc()
fgetws()
getc()
getchar()
gets()
getwc()
getwchar()
getws()
1990 C 标准的正式解释要求在设置文件结束条件后,后续输入操作中的文件不返回更多数据。例外情况是文件指针被重新定位或者应用程序已显式清除错误和文件结束标志。
所有其他编译模式的行为都保持不变。特别地,接口可在设置文件结束指示符后从流读取其他新写入的数据。
解决方法:在流上调用 fseek() 或 clearerr() 以便在流上报告 EOF 条件后读取其他数据。
由于 UID、处理器 ID 和累积执行时间较大,ps 命令输出的各列已加宽。客户脚本不应采用固定输出列。
解决方法:脚本应使用 ps 命令的 -o 选项。
有关更多信息,请参见 ps(1) 手册页。
当命令 ping -v 应用于使用 Internet Protocol 版本 6 (IPv6) 的地址时,该命令失败。将显示以下错误消息:
ping: setsockopt IPV6_RECVRTHDRDSTOPTS Invalid argument |
解决方法:无。要获得 ping -v 提供的相同 ICMP 包信息,请使用 snoop 命令。
Solaris 10 发行版中存在以下 Solaris Volume Manager 错误。
如果 Solaris Volume Manager 镜像了 root (/) 文件系统,并且该文件系统不是从柱面 0 开始的,则您附加的所有子镜像也不能从柱面 0 开始。
如果试图将从柱面 0 开始的子镜像附加到某个镜像,并且该镜像中最初的子镜像不是从柱面 0 开始的,则会显示以下错误消息:
can't attach labeled submirror to an unlabeled mirror |
解决方法:请选择以下解决方法之一:
确保 root 文件系统和其他子镜像的卷都从柱面 0 开始。
确保 root 文件系统和其他子镜像的卷都不从柱面 0 开始。
缺省情况下,JumpStart 安装进程会从柱面 0 开始交换片,并从磁盘上的其他位置开始 root (/) 文件系统。常见的系统管理方式是从柱面 0 开始片 0。如果将缺省的 JumpStart 安装(其 root 在片 0,而不在柱面 0)镜像到第二个典型磁盘(其片 0 从柱面 0 开始),就会出现问题,从而导致试图附加第二个子镜像时产生错误消息。有关 Solaris 安装程序缺省行为的更多信息,请参见 Solaris 10 安装指南。
在非英文语言环境中,Solaris Volume Manager 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 |
如果系统中包含未格式化的磁盘,则使用 metassist 命令创建 Solaris Volume Manager 卷配置可能失败。将显示以下错误消息:
metassist: failed to repartition disk |
解决方法:手动格式化任何未格式化的磁盘后,发出 metassist 命令。
如果在软分区顶部构建的磁盘集中创建 Solaris Volume Manager RAID-1(镜像)或 RAID-5 卷,则热备用设备将无法正常工作。
您可能遇到的问题包括(但不限于)以下情况:
热备用设备无法激活。
热备用设备状态可能会更改,指示设备已发生故障。
热备用设备被使用,但已根据错误的驱动器重新同步。
正在使用的热备用设备遇到故障,但未报告故障状态。
解决方法:不要使用此配置在磁盘集中创建 Solaris Volume Manager RAID-1 或 RAID-5 卷。
不能用通过 Solaris Volume Manager 软件配置的驱动器来替换发生故障的驱动器。替换驱动器对于 Solaris Volume Manager 软件来说必须是新的。如果将磁盘从 Sun StorEdge A5x00 上的一个插槽物理移动到另一个插槽,则 metadevadm 命令会失败。这是由于该片的逻辑设备名不再存在。但是,该磁盘的设备 ID 仍然存在于元设备副本上。将显示以下消息:
Unnamed device detected. Please run 'devfsadm && metadevadm -r to resolve. |
此时,您可以在新位置访问该磁盘。但是,可能需要使用旧的逻辑设备名来访问该片。
解决方法:将驱动器放回到原来的插槽。
如果从系统中删除并替换物理磁盘,然后用 metarecover -p -d 命令向该磁盘中写入适当的软分区特定信息,会导致一个打开故障。该命令不能更新元设备数据库名称空间,使其反映磁盘设备标识的变化。这种情况会使建立在该磁盘上的每个软分区都产生一个打开故障。将显示以下消息:
Open Error |
解决方法:在新磁盘上创建软分区,而不是发出 metarecover 命令来恢复软分区。
如果软分区是镜像或 RAID 5 的一部分,则使用不带 -e 选项的 metareplace 命令,用新的软分区来替换旧的软分区。
# metareplace dx mirror or RAID 5 old_soft_partition new_soft_partition |
本节介绍 Solaris 10 OS 中的 Sun Java 桌面系统 (Java Desktop System, Java DS) 中存在的问题。
本节介绍有关电子邮件和日历的问题。
如果将电子邮件拖放至新的电子邮件的内容部分,新电子邮件的内容会遭到破坏。
解决方法:要发送多个附件,请执行以下步骤:
选择要附加的邮件。
在菜单条上选择“操作”=>“转发”=>“附件”。
也可以按 Ctrl-J 发送邮件。
更改接收邮件服务器的验证类型后,电子邮件和日历可能无法正常工作。
解决方法:重新启动电子邮件和日历。
导入一个包含多个联系人的 LDAP 数据交换格式文件后,联系人文件夹仅显示其中的部分联系人。这只是显示问题。电子邮件和日历已导入所有联系人。
解决方法:重新启动电子邮件和日历。
本节介绍登录问题。
您在登录到 Java 桌面系统会话时可能看到如下错误消息:
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 文件中正确设置了主机名。请执行以下步骤:
按如下形式在 /etc/hosts 文件中设置主机名:
127.0.0.1 localhost loghost hostname localhost.localdomain |
hostname 是系统的名称。
确保主机名在 /etc/nodename 文件中列出。此文件还必须包含下面的行:
127.0.0.1 localhost loghost hostname localhost.localdomain |
您想使用 Yelp 浏览器打开音量控制的联机帮助,但是打开的却是键盘辅助功能面板应用程序的帮助文件。
解决方法:无。
如果打开某个应用程序的联机帮助,但并不存在该应用程序的帮助文件,则将显示错误对话框。除非单击“确定”,否则将冻结联机帮助系统,并且无法打开您随后打开的其他应用程序的联机帮助。
解决方法:必须单击错误对话框中的“确定”按钮。
如果文档包含基本多语种平面 (Basic Multilingual Plane, BMP) 中没有的 Unicode 字符,则无法从 Mozilla 浏览器打印这些文档。
解决方法:无。
GNOME Desktop 早期版本的主帐号中的用户首选项可能与 Java DS Release 3 版本部分不兼容。
解决方法:重新设置您的首选项。请执行以下步骤:
注销 Java 桌面系统。
单击“会话”,然后选择“故障安全终端”。
登录。
在故障安全终端窗口中,输入以下命令:
% gnome-cleanup exit |
再次登录。
现在您的 GNOME 首选项已被重置。
如果 StarSuite 7 在系统中找不到 Mozilla,则可能无法完成 StarSuite 7 的联机注册。该软件必须能够定位电子邮件和日历应用程序,否则无法成功发送文档。
解决方法:将 /usr/sfw/bin 添加至 PATH。请执行以下步骤。
打开终端窗口。
执行以下命令:
% export PATH=/usr/sfw/bin:$PATH |
要启动 StarSuite 软件,请执行以下命令:
% soffice |
完成 StarSuite 注册过程。
录音机录制 new.wav 文件时,滑条和侧计数器无法正常工作。
解决方法:无。
“权限”选项卡中的组权限应与“访问”选项卡中的掩码权限相同,但在某些情况下两者会不同步。
解决方法:单击“关闭”按钮,然后单击“重新装入”。重新查看文件属性。此时组权限和掩码权限就重新同步了。权限设置为上一步中掩码更改后的内容。
Java DS 菜单条和某些应用程序(如,Evolution)显示的中文日期不正确。日期错误地以 %-m M %-d D 格式显示,其中 M 和 D 分别是中文的月份和日期。
解决方法:请执行以下步骤:
备份 /usr/share/locale/LC_MESSAGES/gnome-panel*.mo 文件。
从 http://l10n.gnome.org/POT/gnome-panel.gnome-2-16/gnome-panel.gnome-2-16.zh_CN.po 下载 gnome-panel.gnome-2-16.zh_CN.po,并将其保存在 /tmp 目录下。
编辑 gnome-panel.gnome-2-16.zh_CN.po 文件,并将所有 %-m 替换为 %Om,将所有 %-d 替换为 %e。
生成新的 gnome-panel.gnome-2-16.zh_CN.po 文件。
msgfmt -v -o gnome-panel.gnome-2-16.zh_CN.mo /tmp/gnome-panel.gnome-2-16.zh_CN.po |
将该文件复制回 /usr/share/locale/LC_MESSAGES/ 目录。
注销系统,并重新登录。
如果 Solaris 10 系统只有一个物理视频卡,则无法配置系统进行全屏幕放大。要进行这样的配置,必须使用单独的配置文件,在其中定义伪驱动程序的设置。首先,确保没有运行 Xserver。然后执行以下步骤:
登录到命令行会话。
创建新的 xorg.conf 文件。
# /usr/X11/bin/Xorg -configure |
该命令在根 (/) 目录中创建文件 xorg.conf.new。
将新的配置文件复制到 /etc/x11 目录并重命名文件 xorg.conf。
# cp /xorg.conf.new /etc/X11/xorg.conf |
使用以下样例配置修改文件中的配置:
添加新的 monitor 段。
Section "Monitor" Identifier "monitor_dummy" ModelName "dummy" HorizSync 10-200 VertRefresh 20-90 EndSection |
添加新的 device 段。
Section "Device" BoardName "dummy" Driver "dummy" Identifier "device_dummy" VendorName "dummy" videoram 10000 EndSection |
可能需要根据屏幕宽度、高度和特定图形卡的颜色深度来调整 videoram 值。该值以 KB 为单位,对于要使用的屏幕必须足够大。例如,可以使用公式“宽度 * 高度 * bpp/8”来计算该值。
添加新的 screen 段。
Section "Screen" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1280x1024" EndSubSection Device "device_dummy" Identifier "screen_dummy" Monitor "monitor_dummy" EndSection |
可能需要为特定的系统设置调整分辨率值。
查找 ServerLayout 段下的以下行:
Screen 0 "Screen0" 0 0 |
在上一步的行下插入以下行:
Screen 1 "screen_dummy" RightOf "Screen0" |
此新行定义 Screen1,即理论上位于 Screen0(物理主屏幕)右侧的第二伪屏幕。
保存更改。
从相应的命令行会话重新引导系统:
启动 Gnopernicus 屏幕阅读程序。
将“启动模式”更改为“放大器”。
单击“首选项”,然后选择“放大器”。
单击“添加/修改”。
为放大器首选项指定以下值:
单击“应用”。
由于被全屏幕放大缩放器覆盖,无法看到 Gnopernicus 窗口。不过,全屏幕放大现在处于可用状态。
无法将 USB 鼠标设备设置为与 GNOME 屏幕上的键盘 (GNOME On-Screen Keyboard, GOK) 一起使用的扩展设备。在设置 USB 鼠标设备时,如果使用 PS2 鼠标设备作为核心指针,则配置将会失败。要正确设置 USB 鼠标,请执行以下步骤。
以超级用户身份登录。
拔下 USB 鼠标设备后,在终端窗口中键入以下内容:
# ls -l /dev/usb/hid* |
连接 USB 鼠标并再次键入前一命令。
记录显示在屏幕上的 USB 鼠标的路径。
登录到命令行会话。
创建新的 xorg.conf 文件。
# /usr/X11/bin/Xorg -configure |
该命令在根 (/) 目录中创建文件 xorg.conf.new。
将新的配置文件复制到 /etc/x11 目录并重命名文件 xorg.conf。
# cp /xorg.conf.new /etc/X11/xorg.conf |
修改文件中的配置:
在 ServerLayout 段中,在行 InputDevice "Mouse0" "CorePointer" 后为 Mouse1 添加输入设备。请参见以下示例:
InputDevice "Mouse0" "CorePointer" InputDevice "Mouse1" |
在包含行 Identifier "Mouse0" 的 InputDevice 段中,应用以下更改:
将 Option "Device" "/dev/mouse" 改为 Option "Device" "/dev/kdmouse"。
将 Option "Protocol" "auto" 改为 Option "Protocol" "VUID"。
添加以下新选项:
Option "StreamsModule" "vuid3ps2" |
应用了这些更改后,该段应显示为类似于以下示例:
Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "VUID" Option "Device" "/dev/kdmouse" Option "StreamsModule" "vuid3ps2" EndSection |
在前面的 InputDevice 段后创建新的 InputDevice 段:
Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Device" "/dev/usb/hid1" EndSection |
/dev/usb/hid1 为 USB 鼠标的示例路径。使用步骤 4 中的路径替换 /dev/usb/hid1。
保存文件并退出。
从相应的命令行会话重新引导系统:
登录到可存取的 UI 用户的帐户。
通过单击“启动”菜单 =>“首选项”=>“辅助功能”=>“辅助技术支持”来启用“辅助技术支持”。
注销系统,然后再次登录到可存取的 UI 用户的帐户。
打开终端窗口,并键入以下命令:
% /usr/sfw/bin/gok --select-action=switch1 |
在 GOK 窗口中,单击 "GOK" 并选择“首选项”。
如有必要,根据可存取的 UI 用户的需要设置 GOK。否则,要接受当前设置,请在 GOK“首选项”窗口中单击“应用”,然后单击“确定”。
退出 GOK,然后通过单击“启动”菜单 =>“应用程序”=>“辅助功能”=>“屏幕上的键盘”来重新启动 GOK。系统可能会显示以下警告消息:
The device you are using to control GOK is also controlling the system pointer. |
单击“确定”。
退出 GOK,然后重复步骤 14-17。
此时将不再显示警告消息。
使用以下“查看”选项时文件管理器可能失败:
目录视图
图像集合视图
根据所使用的“查看”选项,可能会显示以下错误消息:
错误:
The application nautilus has quit unexpectedly |
错误:
The Catalog view encountered an error while starting up |
错误:
The Image Collection view encountered an error while starting up |
解决方法:无。每次发生这些错误时,请重新启动文件管理器或在错误对话框中单击“重新启动应用程序”按钮。
无法使用 Archive Manager 创建以下类型的归档文件:
.arj
.lha
.bzip
.lzop
.zoo
解决方法:无。
本节介绍 Solaris 10 OS 中的系统管理错误。
在启用 Solaris 高可靠扩展版之后,SolarisTM Management Console 挂起,不允许以超级用户身份登录 Solaris Management Console。出现此种 Solaris Management Console 挂起时,可能会显示以下错误消息:
Configuring the Management Server... |
解决方法:请执行以下步骤:
配置 Solaris 高可靠扩展版并启动 Solaris Management Console。
在控制台菜单中选择“打开工具箱”。
如果列出了 localhost,请选择它。
如果未列出 localhost,请键入 localhost。
选择 Policy=TSOL 工具箱。
以超级用户身份再次登录 Solaris Management Console。
(可选)如果第二次登录 Solaris Management Console 时失败,请重复步骤 1 至步骤 5,但是在步骤 3 中键入 127.0.0.1,而不是 localhost。
连接区域时,如果原始主机和新主机的软件包处于相同的修补程序级别,但处于不同的中间修补程序历史记录,则区域连接可能会失败。会显示各种错误消息。错误消息取决于两台主机的修补程序历史记录。
解决方法:确保原始主机和新主机的每个修补程序都应用了相同序列的修补程序版本。
在具有 AHCI 兼容 SATA 控制器的系统中,BIOS 设置通常允许在 AHCI、传统或 RAID 模式中设置控制器。Solaris 支持 AHCI 和传统模式。
在 Solaris 初始安装之后,不得更改 BIOS 中的 SATA 模式设置。在 Solaris 升级之前或之后,也不得更改 SATA 模式设置。如果在安装 Solaris 后修改 SATA 模式 BIOS 设置,则系统将会重置并无法引导,且不会指出导致失败的原因。
解决方法:如果由于更改 BIOS 设置而导致引导失败,请恢复回原始设置以引导 Solaris。
从修补程序 119254-42 和 119255-42 开始,为了更改对某些提供新功能的修补程序或与运行中系统不兼容的现有文件的处理方式,已经对修补程序安装实用程序 patchadd 和 patchrm 进行了修改。对实用程序的这一修改会对在任意 Solaris 10 发行版上安装这些修补程序有所影响。这些“延迟激活”修补程序可以更好地处理内核修补程序中所交付的大范围更改。
在延迟激活修补过程中,会使用回送文件系统 lofs 来创建根文件系统的副本。系统将正在修补的原始文件复制到一个安全位置,并对根文件系统的 lofs 副本进行修补。原始文件在修补后,会通过新文件重新挂载回去。这意味着在用户重新引导系统之前,正在运行的系统在修补持续期间保持一致,新功能处于不活动状态,任何不兼容的更改处于隐藏状态。
在应用延迟激活修补程序之后,用户应尽快重新引导系统,但是不必立即重新引导,他们仍可继续添加其他修补程序,然后重新引导。
修补程序自述文件提供了有关哪些修补程序需要重新引导的说明。
Sun 强烈建议在单用户模式下执行修补程序操作,尤其是修补程序自述文件也如此建议时。
如果您在运行非全局区域或者禁用了 lofs,则在安装或删除延迟激活修补程序时,请考虑以下几点:
要执行此修补程序操作,所有非全局区域必须处于停止状态。必须停止非全局区域,然后再应用修补程序。
为了成功地完成操作,延迟激活修补需要回送文件系统 lofs。由于启用 lofs 时会对 HA-NFS 功能有所限制,所以运行 Sun Cluster 3.1 或 Sun Cluster 3.2 的系统可能会将 lofs 关闭。因此,安装延迟激活修补程序之前,必须执行以下步骤来重新启用回送文件系统。
删除或注释掉 /etc/system 文件中的以下行:
exclude:lofs |
重新引导系统。
安装修补程序。
完成修补程序安装操作后,恢复或取消注释 /etc/system 文件中的同一行。
重新引导系统以恢复正常运行。
不会显示任何错误消息。
解决方法:Sun 建议使用 Solaris Live Upgrade 进行修补管理。Solaris Live Upgrade 可防止对运行的系统进行修补时出现问题。Solaris Live Upgrade 可减少与修补相关的停机时间量,并且可在发生问题时提供回退功能,从而降低风险。有关更多信息,请参见《Solaris 10 5/08 安装指南:Solaris Live Upgrade 和升级规划》。
在大型文件系统(例如 ZFS)上运行时,使用 statvfs(2) 或 statfs(2) 获取有关文件系统状态的信息的应用程序会显示错误。将显示以下错误消息:
Value too large for defined data type |
解决方法:应用程序应改为使用 statvfs64()。
在运行 Solaris 发行版但不支持区域的系统上,无法使用 patchadd -R 或接受 -R 选项的任何命令为安装了非全局区域的全局区域指定备用根路径。
与使用 luupgrade [-t、-T、-p、- P] 命令时显示错误消息不同,在这种情况下,不会显示与使用相应命令级限制有关的错误消息。
没有关于 -R 选项无效的提示。由于该命令执行失败,因此 Solaris 10 软件包或修补程序不会安装在任何已安装的非全局区域上。
安装和卸载软件包或修补程序时会发生此问题。
如果备用引导环境配置了非全局区域(而不是安装了非全局区域),则 -R 选项有效。但是,为了避免可能的问题,或者如果不确定是否有安装的非全局区域用作备用根路径,请在所有情况下限制使用 -R 选项。
有关更多信息,请参见以下手册页:
解决方法 1:将 OS 至少升级到 Solaris 10 1/06 发行版。
如果运行的是 Solaris 10 3/05 发行版,请安装以下修补程序以便能够使用接受 -R 选项的命令来创建备用根路径:
Patch ID 119254-19(适用于基于 SPARC 的系统)
Patch ID 119255-19(适用于基于 x86 的系统)
解决方法 2:限制使用 patchadd -R 命令或任何接受 -R 选项的命令来创建备用根路径。
而是引导备用根(例如,Solaris 10 发行版)作为活动 OS。然后在不使用 -R 选项的情况下安装和卸载 Solaris 10 软件包和修补程序。
运行 Sun Patch Manager Tool 2.0 的系统可以管理运行包括 Sun Patch Manager Tool 1.0 的修补程序管理器工具的远程系统。
不过,使用早期版本的修补程序管理器工具的系统无法管理运行 Patch Manager Tool 2.0 的远程系统。早期版本包括:
Sun Patch Manager Base Software 1.x
Sun Patch Manager Tool 1.0
Solaris 8 OS 中不存在对修补程序管理器工具的“通用信息模型/基于 Web 的企业管理 (CIM/WBEM)”支持。因此,使用修补程序管理器进行远程管理不适用于 Solaris 8 系统。
如果使用 smdiskless 命令删除无盘客户机,该命令失败。无盘客户机未从系统数据库中删除。将显示以下错误消息:
Failing with error EXM_BMS. |
解决方法:添加客户机前取消共享 /export 分区。
如果使用 smosservice delete 命令删除无盘客户机服务,该命令不能成功删除所有服务目录。
解决方法:执行以下步骤。
确保不存在使用该服务的客户机。
# 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 |
从 /etc/bootparams 文件中删除以下项。
fs1-24 boottype=:os |
仅在此文件服务器不为任何其他服务提供功能或资源时删除此项。
从 /etc/dfs/dfstab 文件中删除以下项。
share -F nfs -o ro /export/exec/Solaris_8_sparc.all/usr |
修改 /var/sadm/system/admin/services/Solaris_10 文件。
如果文件服务器不是 Solaris_10,则删除该文件。
如果文件服务器是 Solaris_10,则删除前三行后的所有项。所删除的行表示 /export/root/templates/Solaris_10 中的服务 USR_PATH 和 SPOOLED ROOT 软件包和支持的平台。
修改 snmpd.conf 的内容后,可以发出命令 kill -HUP snmp Process ID。此命令停止 snmp 进程。然后,该命令向系统管理代理的主代理 (snmpd) 发送信号,以重新读取 snmpd.conf 并实现您引入的修改。该命令可能不会始终使主代理重新读取配置文件。因此,使用该命令可能无法总是激活配置文件中的修改。
除了使用 kill -HUP,还可以在将修改添加到 snmpd.conf 后重新启动系统管理代理。请执行以下步骤:
成为超级用户。
键入以下命令:
# /etc/init.d/init.sma restart
正在引导安装了服务分区和 x86 上的 Solaris 10 OS 的 Sun LX50。按 F4 功能键引导服务分区(如果提供该选项)会使屏幕变为空白,此时系统将无法引导服务分区。
解决方法:当显示“BIOS 引导屏幕”时,请勿按 F4 键。超时后,将显示“当前磁盘分区信息”屏幕,在“零件号”列中选择与 type=DIAGNOSTIC 对应的编号,按回车键。系统将引导服务分区。
如果选择使用 com.sun 应用程序编程接口而不是使用 javax
应用程序编程接口来开发 WBEM 软件,则只完全支持通用信息模型 (Common Information Model, CIM) 远程方法调用 (remote method invocation, 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 |