本文档描述运行时问题。
有关未能及时包括在本出版物中的问题,请参考 Solaris Beta 程序网站: http://soldc.sun.com/developer/restricted/s8-updates/.
本产品的名称为 Solaris 8 1/01,但是代码和路径或软件包名称可能使用 Solaris 2.8 或 SunOS 5.8。请始终遵循所写的代码或路径。
如果特许用户在 csh 中使用 "here documents" ("<<" 重定向),则可能将潜在的安全漏洞暴露给非特许用户。
解决方法:特许用户不要在 csh 中使用 "here documents"。
在多头服务器上安装无盘客户机时,请将无盘客户机安装在与无盘客户机位于同一子网的网络接口上。缺省情况下,无盘客户机使用服务器的本地主机接口安装其文件系统。
在多头服务器上,每个网络接口具有一个主机名和一个 Internet 协议 (IP) 地址。若要确定本地主机接口的主机名,请在服务器上输入 uname -n。
使用 -D type/host_name/domain_name 选项指定管理域,其中:
type 为 NIS、NIS+ 或文件
host_name 为主机名或网络接口
domain_name 为管理域的名称
如果不指定 -D 选项,则 SMC 假定为本地服务器上的文件域。
当名称服务服务器和 OS 服务器不是同一台机器时,使用 -o host_name 选项指定 OS 服务器的名称。如果不指定该选项,则 smdiskless 假定 OS 服务器与 -D 选项中指定的相同。
有关详细信息,请参见 smdiskless(1M)。
如果名称服务服务器与多头 OS 服务器相同,则 host_name 必须等于在该服务器上输入 uname -n 后返回的主机名。使用与无盘客户机位于同一子网的网络接口的主机名指定 -o 选项。
如果名称服务服务器与多头 OS 服务器不同,则 host_name 必须等于在名称服务服务器上输入 uname -n 后返回的主机名。使用与无盘客户机位于同一子网的 OS 服务器网络接口的主机名指定 -o 选项。
如果多头 OS 服务器的"本地主机"接口在无盘客户机的子网上,而且您未指定 -D 选项(假定为文件范围),那么 smdiskless 可以正常工作。
如果多头 OS 服务器与无盘客户机没有位于同一子网,则必须编辑 OS 服务器和无盘客户机的数据库文件,如下所示:
所有项目必须单独占有一行。
将以下服务器文件:
/etc/bootparams diskless_client root=server:/export/root/diskless_client \ swap=server:/export/swap/diskless_client swapsize=:32 \ dump=server:/export/dump/diskless_client dumpsize=:32 \ boottype=:di |
其中 server = OS 服务器主机名,net_interface = 无盘客户机子网上的网络接口主机名,diskless_client = 无盘客户机主机名
"dump" 和 "dumpsize" 只有在您指定 "-x dump" 或 "-x dumpsize" 选项时才出现。
更改为:
diskless_client root=net_interface:/export/root/diskless_client \ swap=net_interface:/export/swap/diskless_client swapsize=:32 \ dump=net_interface:/export/dump/diskless_client dumpsize=:32 \ boottype=:di |
net_interface 主机名及其 IP 地址必须出现在 /etc/hosts 中。
重新启动服务器上的 in.rarpd 和 rpc.bootparamd。使用 in.rarpd -a 或启动无盘客户机所用网络接口上的 rarpd 守护程序。
将以下客户文件:
/export/root/diskless_client/etc/vfstab server :/export/root/diskless_client - / nfs - - rw server :/export/swap/diskless_client - /dev/swap nfs - - - server :/export/exec/Solaris_8_sparc.all/usr - /usr nfs - -ro |
更改为:
net_interface:/export/root/diskless_client - / nfs - - rw net_interface:/export/swap/diskless_client - /dev/swap nfs - - - net_interface:/export/exec/Solaris_8_sparc.all/usr - /usr nfs - -ro |
当您连接到一个已经在 Solaris 2.4、2.5、2.5.1 或 2.6 操作环境中编译过的共享库并且此库也使用了 Motif 应用程序编程接口(API) 时,则在 Solaris 8 操作环境中编译 Motif 程序会出现问题。
Motif 程序使用 Motif 2.1 版而旧的共享库使用 Motif 1.2 版时会发生核心转储。这不是二进制兼容性问题,因为在 Solaris 2.4、2.5、2.5.1 或 2.6 操作环境中编译的应用程序应当能够在 Solaris 8 操作环境中正常运行。
解决方法:如果您有一个直接连接到 Motif 库的旧的共享库,并且要在 Solaris 8 操作环境中编译同时链接到 Motif 和旧的共享库的程序,请使用以下行来编译:
cc foo.c -o program -DMOTIF12_HEADERS -I/usr/openwin/include -I/usr/dt/include -lXm12 -lXt -lX11 |
带有不常用数据布局的 CD-ROM 可能不会自动装载。将 CD 插入驱动器以后,文件管理器窗口不会显示 CD-ROM 的内容。
解决方法:手动安装 CD-ROM :
成为超级用户。
停止卷管理器:
/etc/init.d/volmgt stop |
安装 CD-ROM:
mount -F hsfs -r device_pathname /mnt |
其中 device_pathname 是 CD-ROM 驱动器连接的目录名。例如:/dev/dsk/c0t6d0s0.
CD-ROM 驱动器通常连接到 c0t6d0s0 或在工厂时连接到 c0t2d0s0,但是要让这个命令生效,您必须使用正确的路径。
重新启动卷管理器:
/etc/init.d/volmgt start |
如果将软盘插到带 SCSI可删除媒体设备的系统上的软驱中,然后选择从 OpenWindowsTM“文件管理器”中的“文件”菜单查看此软盘,文件管理器把软盘安装在 /floppy 目录中,但无法显示能列示磁盘内容的“文件管理器”视图。
解决方法:选择以下解决方法之一。
要查看软盘的内容,请执行这些步骤:
单击文件管理器图标路径中的 / 文件夹。
双击 / 显示窗口中的 floppy 文件夹。
双击 /floppy 显示窗口中的 floppy0 文件夹。
要格式化软盘,请执行以下步骤:
卸载软盘。
% volrmmount -e floppy0 |
格式化软盘。
% fdformat floppy0 |
要在软盘上创建一个新的文件系统,请执行以下步骤:
如果您已经卸载了软盘,请转至此解决方法的第 2 步。
要弹出软盘,请使用 eject 命令。
% eject floppy0 |
要防止此问题,请应用补丁程序 109464-01。
从桌面删除最后一项后(例如,日历中的最后一项约会或者地址管理器中的最后一个地址),当您同步便携设备时,此最后一个项目会从便携设备恢复到桌面系统中。
解决方法:在同步前从便携设备中手动删除当您同步便携设备时,此最后一个项目会从便携设备恢复到桌面系统中一项。
如果您在 PDA 设备与 Solaris CDE 之间交换多字节数据,数据可能会在两种环境中都遭到破坏。
解决方法:在运行 PDASync 应用程序之前,使用 PDA 备份公用程序来备份个人计算机上的数据。如果您意外地交换了多字节数据并破坏了该数据,请从备份中恢复数据。
系统引导时,以下错误信息可能会记录到系统日志文件中,该文件位于 /var/adm/messages 中:
open(/var/run/rcm_daemon_lock) - No such file or directory rcm_daemon exit: errno = 2 |
它仅出现在 /var 为单个分区的情况下。
解决方法:忽略该消息。它对系统不会产生任何有害影响。
从前面板选择“帮助”->“信息”后,会返回旧文件的列表。正确的文件是 S8FCSreleasenotes。
当内存不足时会显示以下错误消息:
CIM_ERR_LOW_ON_MEMORY |
解决方法: 重置“CIM 对象管理器系统信息库”:
成为超级用户。
关闭“CIM 对象管理器”:
# /etc/init.d/init.wbem stop |
删除 JavaSpaces 日志目录。
# /bin/rm -rf /var/sadm/wbem/log |
重新启动“CIM 对象管理器”。
# /etc/init.d/init.wbem start |
您将丢失数据仓库中所有的所有权定义。您必须使用 mofcomp 命令重新编译包含这些定义的 MOF 文件。例如:
# /usr/sadm/bin/mofcomp -u root -p root_password your_mof_file |
如果使用 CIM WorkShop 或 WBEM API 枚举 Solaris_FileSystem 类实例时,则 CIMOM 不再运行,并显示以下错误消息:
Attempted to complete RMI action enumInstances and received exception java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is: java.io.EOFException |
解决方法:以超级用户模式键入以下命令来重新启动 CIMOM:
# /etc/init.d/init.wbem start |
如果具有小容量内存配置的系统中的几个 USB 设备进行了连接,则从软盘、CD 或网络引导该系统时可能会使该系统出现紧急情况。在这种情况下将显示以下应急消息之一:
panic[cpu0]/thread=1040800: main:: unable to fork init. |
或
panic[cpu0]/thread=2a1000fdd40: BAD TRAP:: type=31 rp=2a1000fd0a0 addr=c0 mmu_fsr=0 occurred in module "genunix" due to a NULL pointer dereference |
解决方法:如果您有 4 个以上 USB 设备,则仅让系统中的 USB 键盘和鼠标进行连接,然后引导该系统。在看到 Solaris 登录提示后再连接其余的 USB 设备。
当媒体不存在时对可删除媒体进行读操作,读操作将会失败。系统会将一条警告信息写到终端和日志文件中。该警告消息的内容类似于:
scsi: [ID 107833 kern.warning] WARNING: /pci@1f,0/pci@1,1/ide@3/sd@2,0 (sd30): i/o to invalid geometry |
出现在警告信息中的路径是可删除媒体的设备路径。
该警告是无效的。当可删除媒体中的媒体不存在时,读操作应该是在不发布任何警告的情况下以失败结束。
解决方法:对于可删除媒体,忽略这些警告信息。
Java 插件 1.2 是缺省插件,它运行 Java 2 applet 但不能运行所有 Java 1.1 applet。若需要 Java 插件 1.1,可从 http://www.sun.com/solaris/netscape 下载。
若选择在一个系统上同时安装 Java 插件 1.1 和 Java 插件 1.2,就必须遵循关于如何安装 Java 插件 1.1 的提示,并随后相应地配置环境。
这个过程在 Solaris Java 插件用户指南的“安装 Java 插件”一节中有摘要叙述,该用户指南可从 http://www.sun.com/solaris/netscape/jpis/usersguide_java_plugin.html 获得。
缺省情况下,Solaris ata 设备驱动程序的 DMA 功能对于 ATA/ATAPI 设备是禁用的。
禁用该功能的目的是为了避免在某些不能充分支持 ATA/ATAPI 设备的 DMA 的系统上出现问题。绝大多数问题都与系统的 BIOS 有关。
在安装 Solaris 8 操作环境后,要启用(或禁用)ata 驱动程序的 DMA,请执行下列操作:
从引导软盘或安装 CD(若系统支持 CD-ROM)上运行"Solaris(Intel平台版本)设备配置助理"。
在使用引导软盘引导时,新的 ata-dma-enabled 的属性值将保留在此软盘上。因此,再次使用该引导软盘时,已经更改的值便能生效。
按 F2_Continue 扫描设备。
按 F2_Continue 显示引导设备的列表。
按 F4_Boot Tasks,选择"查看/编辑"的"属性设置",并按 F2_Continue.
将启用 ata-dma 的属性的值改为 1 来启用 DMA(其值为 0 时禁用 DMA):
从列表中选择启用 ata-dma 的属性并按 F3_Change。
键入 1 并按 F2_Continue 以启用(键入 0 并按 F2_Continue 以禁用)。
按 F2_Back,再按 F3_Back 来返回到“引导 Solaris”菜单。
选择安装要使用的设备(网络适配器或 CD-ROM 驱动器)并按下 F2_Continue。
如果在启用 DMA 后发生任何问题,请禁用 DMA(按照上述步骤将启用 ata-dma 的属性值设置为 0),使用您的硬件生产商的最新 BIOS 更新系统,然后重新启用 DMA。
若 ab2admin 命令失败,则错误消息中还会包括除 command failed 以外的其他信息。例如,它可能还包括 path not found 或 invalid ID 等信息。
解决方法:如果显示 command failed 消息,请查明操作是否真的失败了。例如,若您提交的命令本应该删除 AnswerBook2 数据库中的一个集合,请键入以下命令来验证该集合是否仍显示在此数据库中:
# ab2admin -o list |
在 AnswerBook2TM 服务器启动期间,ab2cd 脚本可能显示以下不正确的错误消息。
sort: can't read /tmp/ab1_sort.XXX: No such file or directory |
此错误消息说明 ab2cd 脚本未找到 CD 上的任何 AnswerBook(显示 PostScriptTM)集合。
解决方法:忽略此错误消息。
请执行下列步骤来使用字体下载程序从任何非 ISO8859-1 语言环境打印。
登录到 CDE。
在命令行键入 fdl 以启动字体下载程序。
通过从打印机菜单选择“添加”来指定打印机。
从下载菜单选择“字体束”。
于是字体束便被下载到指定的打印机,具体是什么字体束取决于打印所需的代码集。
欧洲语言环境下的 SMC 工具箱在装入时未显示全部工具。您可能收到以下错误信息:
** Parsing error, line 1, uri http://fubar:898/toolboxes/smc/smc.tbx com.sun.xml.parser/P-076 Malformed UTF-8 char -- is an XML encoding declaration missing? |
解决方法:运行smc edit 并更改缺省本地化工具箱或创建一个新的工具箱。
在韩文、简体中文和繁体中文语言环境下,单击“SMC 概述”帮助项目导致 SMC 突然终止。单击“帮助”->“概述”->“SMC 概述”时便会出现这种情况。
解决方法:避免使用该链接,或在 C 语言环境下运行 SMC:
# env LANG=C smc |
SMC 信息面板在韩文和简体中文 (zh) 语言环境中其内容为空。在繁体中文中,它报告error: Unsupported encoding `x-euc-tw' for file ...
解决方法:在获取帮助信息前,在 C 语言环境中运行 SMC:
# env LANG=C smc |
“Solaris 管理控制台”和“基于 Web 的企业管理”应用程序中的上下文相关帮助未完全本地化。
UTF-8 版本的语言环境,使用标准组合键 ALTGr+E,存取欧圆符号。
解决方法:登录到任何 ISO8859-15 语言环境,然后使用 Alt+E 存取欧圆符号。
由于 LucidaSansLat4 字体别名不存在,从任何 UTF-8 语言环境中启动 Java 应用程序时都可能出现相关的警告消息。
解决方法:登录到等效的 ISO-1 语言环境,然后启动 Java 应用程序。
一些死键组合在 CDE 中不能正常工作。此外,希腊语言环境的“日历管理器”中的月份名称也不能正常工作。
若您在部分语言环境中使用日历管理器时尝试打印扩展字符,则扩展字符不能正确打印。
无法在阿拉伯文输入模式的 en_US.UTF-8 下运行的应用程序或窗口和在阿拉伯输入模式的 ar_EY.ISO8859-6 下运行的应用程序或窗口之间剪切或粘贴阿拉伯文本。
在某一欧洲语言环境的任何 CDE 应用程序中用鼠标右键单击时,“附加”下拉式菜单都不显示任何选项。
en_US.UTF-8 和欧洲 UTF-8 语言环境已经实现了用于输入希伯来文、阿拉伯文和泰文的复杂文本语言 (CTL) 支持,但 ja_JP.UTF-8、ko.UTF-8(又称为 ko_KR.UTF-8)、zh.UTF-8(又称为 zh_CH.UTF-8)和 zh_TW.UTF-8 等语言环境不支持 CTL。
解决方法:在需要使用 CTL 输入泰文、阿拉伯文或希伯来文时,请使用 en_US.UTF-8 语言环境。若想在亚洲和日文 UTF-8 语言环境中输入这些语言,则请:
创建一个指向公共 CTL 模块的符号链接。以 ja_JP.UTF-8 为例:
# cd /usr/lib/locale/ja_JP.UTF-8 # mkdir LO_LTYPE ; cd LO_LTYPE # ln -s ../../common/LO_LTYPE/umle.layout.so.1 ja_JP.UTF-8.layout.so.1 # mkdir sparcv9 ; cd sparcv9 # ln -s ../../../common/LO_LTYPE/sparcv9/umle.layout.so.1 ja_JP.UTF-8.layout.so.1 |
编辑 /usr/openwin/lib/locale/ja_JP.UTF-8/XLC_LOCALE 文件,从泰文、阿拉伯文或希伯来文项目中对 load_option delay_nocheck 行进行注释。例如,在泰文中:
# fs14 class (Thai) fs14 { charset TIS620.2533-0:GR font { # load_option delay_nocheck <--- comment out primary TIS620.2533-0:GR } } |
应用程序 SmartCard 的一些屏幕没有全部本地化。
在 Solstice AdminTool 软件的希腊文语言环境中,“添加用户”、“修改用户”和“删除用户”屏幕的内容均为空。
解决方法:以超级用户模式复制下面的文件:
# cp /usr/openwin/lib/locale/C/app-defaults/Admin /usr/openwin/lib/locale/el_GR.ISO8859-7/app-defaults/Admin |
当您在意大利语言环境中使用字体下载程序时,添加打印机对话框中的 添加 和 取消 均标记错误;它们均被标为 A....
左边的按钮应该被标为 Aggiungi (添加)。
右边的按钮应该被标为 Annulla (Cancel取消)。
下表描述 Sun 的 Solaris 阿拉伯文键盘和 Microsoft 的阿拉伯文键盘之间的区别。
表 2-1 Sun 和 Microsoft 的 阿拉伯文键盘之间的区别。
键 |
Sun 键盘布局 |
Microsoft 的键盘布局 |
---|---|---|
T |
T |
下方带有 Hamza 的阿拉伯文 Lam_alef |
U |
U |
右单引号mark |
I |
I |
阿拉伯文乘号 |
O |
O |
阿拉伯文除号 |
A |
; |
阿拉伯文 Kasra |
S |
S |
阿拉伯文 Kasratan |
Z |
Z |
波浪号 |
X |
X |
阿拉伯文 Sukun |
C |
阿拉伯文 Kasratan |
左花括号 |
V |
阿拉伯文 Kasra |
右花括号 |
M |
Sukun |
单下引号 |
< |
< |
阿拉伯文逗号 |
SEAM 使用 Solaris 8 操作环境中的部分资源文件,不过只有在安装时选择了 Kerboros 设置才使用这些资源文件。
UTF-8 语言环境中,按住 AltGr+E 组合键时不能生成欧圆符号。
解决方法:执行下列步骤来在 UTF-8 语言环境中输入欧圆符号:
在“UTF-8 输入模式选择”窗口中选择查看。
选择货币符号。
选择欧圆符号。
在希腊文语言环境中,在控制台提示符下键入 dumpcs。接着复制并粘贴欧圆符号。
在欧洲 UTF-8 语言环境中,排序不能正常进行。
解决方法:在 FIGGS UTF-8 语言环境中尝试排序前,请把 LC_COLLATE 变量设置为相等的 ISO1 值。
# echo $LC_COLLATE > es_ES.UTF-8 # setenv LC_COLLATE es_ES.IS08859-1 |