Solaris运行时问题详解:常见问题与解决方案指南

第 2 章 Solaris 运行时问题本章介绍已知的运行时问题。注 – 在后续的 Solaris 10 发行版中修复了本章中的某些问题和错误。

问鼎pg官网入口

使用Solaris 10软件时,会遇到不少麻烦,时常出现错误或问题,让人挺烦恼的。这些问题仿佛在使用过程中设置了种种“阻碍”。不过,对于这些难题,我们都有应对的策略。

There was an unrecognized extended, nonstandard option specified with the -x option.
Please refer to man pages for additional information and correct syntax usage

!! DragNDrop protocol. Other styles cause policy violation.
*DragInitiatorProtocolStyle:            DRAG_DYNAMIC
*DragReceiverProtocolStyle:             DRAG_DYNAMIC

The system administrator has disabled access to 
the system temporarily

查看不适用于Solaris 10软件的错误问题

gdm account requisite pam_roles.so.1
gdm account required pam_unix_account.so.1

Screen      0  "Screen0" 0 0

Screen      1  "screen_dummy" RightOf "Screen0"

# ls -l /dev/usb/hid*

# /usr/X11/bin/Xorg -configure

在使用Solaris 10软件时,用户可能会遭遇与使用环境不吻合的错误或难题。若要弄清哪些错误和问题不再适用于某个版本的Solaris 10,请查阅附录A。附录A里收录了Solaris 10操作系统的错误修复信息,就像指引的灯塔,能帮助用户判断问题是否相关。在企业内部服务器上使用Solaris 10系统时,工程师必须掌握这些信息,否则可能会在不适用的问题上耗费宝贵时间。

# cp /xorg.conf.new /etc/X11/xorg.conf

Section "InputDevice"
   Identifier  "Mouse0"
   Driver      "mouse"
   Option      "Protocol" "VUID"
   Option      "Device" "/dev/kdmouse"
   Option      "StreamsModule" "vuid3ps2"
EndSection

Section "InputDevice"
   Identifier  "Mouse1"
   Driver      "mouse"
	  Option      "Device" "/dev/usb/hid1"
EndSection

对Solaris 10软件来说,及时更新和修复同样重要。按照指南操作,通常可以避免不少麻烦。举例来说,在系统操作过程中,只要遵循一些特定步骤,就能达到这个目的。

% /usr/sfw/bin/gok --select-action=switch1

The device you are using to control GOK is
also controlling the system pointer.

# kdmconfig

手动刷新tndb高速缓存

** ERROR **: Accessibility app error:
 exception during registry activation from id:
 IDL:Bonobo/GeneralError:1.0
  aborting...

% gnome-cleanup

cp ${SI_CONFIG_DIR}/xorg.conf /etc/X11/Xorg.conf

SMC网络配置调整完成后,必须手动对tndb缓存进行更新。此时,可以使用诸如patchadd之类的特定命令。以Solaris 10系统的数据中心为例,若在调整网络结构后更改了SMC中的网络设置,却忘记手动刷新缓存,可能会导致数据传输或网络连接出现小问题。若长期忽略,还可能影响系统整体运行效率。另外,由于缺乏正确指导,一般管理员可能对这一步骤和操作方法不太熟悉。

# 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
#

ERROR: No such file or directory:
cannot mount  in non-global zone to install:
the source block device or directory  cannot be accessed

按照既定的管理规程,应当将此类手册的更新纳入日常工作规范,这样一来,每次进行网络调整时便不会忽视这一关键步骤。

The following requested patches have packages not installed on the system:
	Package SUNWzfskr from directory SUNWzfskr in patch 122641-03 
	is not installed on the system.
	Changes for package SUNWzfskr will not be applied to the system.

/usr/lib/embedded_su: not found

ZFS修补程序伪警告消息

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

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.

使用patchadd命令在Solaris 10 11/06系统上安装ZFS补丁时,系统会弹出错误提示。这主要是因为ZFS软件包是首次被系统采纳。开发者认为,新软件包的加入可能触发了系统的某些检测机制,但这个提示并不表示真的存在安全隐患。在常规维护中,许多技术人员一看到这样的提示就会担心系统的稳定性。比如,在某个Solaris 10的测试场景中,一旦安装了该补丁,技术人员可能会首先怀疑系统存在安全漏洞等问题。

Warning: inode blocks/cyl group (295) >= data blocks (294) in last
     cylinder group. This implies 4712 sector(s) cannot be allocated.
/dev/rdsk/c0t0d0s6:     0 sectors in 0 cylinders of 48 tracks, 128 sectors
         0.0MB in 0 cyl groups (13 c/g, 39.00MB/g, 18624 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
#

尽管这只是一则虚假的警告,但操作人员仍感困扰,他们不得不多花时间来确认这并非真正的警报。

# eeprom kbd-type='Japanese(106)'

# pkill -f basicreg.jar
# pkill -f swupna.jar

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.

NFSv4 ACL功能不正常运行

若在网络上部署了不同版本的Solaris 10早期版本来搭建客户机和服务器,NFSv4的访问控制列表(ACL)功能可能无法正常工作。为确保此功能能正常运行,服务器和客户机都必须完整安装Solaris 10操作系统。比如,在高校实验室搭建基于Solaris 10的内部网络时,若服务器和客户机使用的是不同版本的Solaris 10,就很可能遇到这样的问题。

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

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

若不处理这个问题,文件资源的安全可能会受到威胁,权限管理也可能出现不平衡,这可能会影响网络的正常运行。所以,确保系统完全安装,以便该功能能够正常运行,显得尤为重要。

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

# shutdown

os服务和磁盘空间消息显示

# 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

在将OS服务通过smoservice指令加入UFS文件系统过程中,系统可能会出现磁盘空间不足的提示。如果技术人员误以为这是真的空间不足,然后进行大量清理,那将是无效的。尤其是在商业公司的服务器机房,面对这类警告信息,必须认真检查,核实是否真的是因为磁盘空间不足引起的。

# pkgadd -d . IPLTjdsu IPLTjadmin IPLTjcons IPLTjadcon \ 
IPLTjdscon IPLTjadman IPLTjdsman

实际上,可能是命令在显示上存在不足,又或是系统在执行过程中,对磁盘空间的检测机制产生了误导。

$ pkginfo | grep IPLT

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
$

更改键盘类型

dbx: internal error: signal SIGBUS (invalid address alignment)

kdmconfig程序默认将通用美式英语键盘(104键)设置为系统连接的键盘类型。对于正在运行Solaris 10操作系统的系统,若要修改键盘类型,必须使用kdmconfig程序来操作。在跨国公司中,如果某些员工使用Solaris 10系统办公,而他们的母语不是英语,他们可能需要调整键盘类型。如果员工不清楚如何修改,就只能使用默认设置,这可能会影响他们的打字速度。

{0} ok h# 0f pil!

(0) ok 1 switch-cpu

系统需要提供更简单的操作指南,让用户能够明白如何修改设置,从而满足他们不同的需求。

{1} ok

# svcadm enable wnn8/server

使用Solaris 10过程中,您是否遇到过让您头疼的问题?欢迎在评论区讲述您的经历,别忘了点赞并分享这篇文章。

# cd /Solaris_10/ExtraValue/CoBundled/Trusted_Extensions
# cp -rp locale /var/sadm/tx

问鼎pg官网入口