本文档描述已知的运行时问题。
以下运行时错误描述是自本文档发布在 Solaris 8 1/01 文档 CD 和 Solaris 8 1/01 安装 CD 上的安装 Kiosk 上以来被添加到本章中的。
本产品的名称为 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 |
要防止此问题,请应用补丁程序 109463-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 |
64 位安全应用程序只能从安全目录 /usr/lib/secure/64 中预装。此符号链接 /usr/lib/secure/64 -> /usr/lib/secure/sparcv9 丢失。因而您可能收到如下错误消息:
% LD_PRELOAD=libfoo.so.1 setxid-app ld.so.1: setxid-app: warning: libfoo.so.1: open failed: \ No such file in secure directories |
创建两个符号链接:符号链接 /usr/lib/secure/64 -> /usr/lib/secure/sparcv9 和符号链接 /usr/lib/link_audit/64 -> /usr/lib/link_audit/sparcv9。
应用修补程序 109147-08。
如果具有小容量内存配置的系统中的几个 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 设备。
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 获得。
如果使用 dlopen 将 libjvm.so 引入进程,则 libjvm.so 便无法正确执行。当创建目标码时,它必须被链接到可执行文件中。
解决方法:在创建一个可执行文件时,请明确地将 libjvm.so (-ljvm) 和 libjava.so (-ljava) 命名为关联文件。
若 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 以启动字体下载程序。
通过从打印机菜单选择“添加”来指定打印机。
从下载菜单选择“字体束”。
于是字体束便被下载到指定的打印机,具体是什么字体束取决于打印所需的代码集。
kkcv 是日文 BCP(4.x 二进制兼容性)应用程序的输入方法服务器。当您使用 LDAP 时,kkcv 重复不断地发生信息转储,并显示以下错误消息:
cssd: The process "kkcv.sh" has been killed by sig#134, core dumped |
在使用语言 CD 安装了 'ja' 语言环境的情况下,所有语言环境中都会出现该问题。
解决方法:如果不需要使用日文 BCP 功能,请配置您的服务器,使其不要启动用于 BCP 应用程序的输入方法服务器:
复制 /usr/lib/css.d/cs00.sh 到 /etc/css.d。
# cp -p /usr/lib/css.d/cs00.sh /etc/css.d |
编辑 /etc/css.conf 并使用 `#' 对行 /usr/lib/css.d 进行注释。
# /etc/css.conf |
重新启动 CS 监视守护程序。
# sh /etc/init.d/loc.ja.cssd stop # sh /etc/init.d/loc.ja.cssd start |
欧洲语言环境下的 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 |
右单引号 |
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 |