Solaris 10 11/06 发行说明

系统管理

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

Solaris 高可靠扩展版管理工具显示错误的标签 (6478436)

Solaris 高可靠扩展版管理工具(例如 Solaris 管理控制台 (Solaris Management Console, SMC) 和 tninfo)可能不会显示 ADMIN_LOWADMIN_HIGH 标签。相反,这些管理工具可能会错误地将标签显示为 PUBLICCNF : RESTRICTED

这种标签显示错误可能会导致系统配置不正确。例如,SMC 可能错误地将区域的标签显示为 PUBLIC,而实际缺省标签应该为 ADMIN_LOW。由于错误地显示了标签,区域将无法引导。

导致此错误的原因是,缺省标签视图为 EXTERNAL,而其实际应为 INTERNAL。这会导致 ADMIN_LOW 被升级为最低级别的用户标签,而 ADMIN_HIGH 被降级。结果,管理工具会错误地显示所定义的最低和最高级别的标签,而不是正确地显示 ADMIN_LOWADMIN_HIGH

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

  1. 安装 Solaris 高可靠扩展版,但不重新引导系统。

  2. 编辑 label encodings 文件。缺省 label_encodings 文件是 /etc/security/tsol/label_encodings。在 LOCAL DEFINITIONS 段中添加以下行:


    Default Label View is Internal;

x86: 无法卸载 Solaris 高可靠扩展版 (6460106)

在 x86 系统上无法卸载 Solaris 高可靠扩展版。重新引导系统时,会显示以下错误消息:


NOTICE: template type for bge0 incorrectly configured
    Change to CIPSO type for 129.146.108.249
    ifconfig: setifflags: SIOCSLIFFLAGS: bge0: Invalid argument
    NOTICE: bge0 failed: Cannot insert CIPSO template for
    local addr 129.146.108.249
    ip_arp_done: init failed

然后系统挂起。

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

  1. 卸载 Solaris 高可靠扩展版,但不重新引导系统。

  2. 运行以下命令。


    # touch /etc/system
    # bootadm update-archive
  3. 重新引导系统。

应当禁止从不支持 Zone 的系统上,使用 patchadd -R 指定另选根 (Root) 路径来对本系统进行修补 (6464969)

在运行 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 选项的命令来创建备用根路径:

解决方法 2:限制使用 patchadd -R 命令或任何接受 -R 选项的命令来创建备用根路径。

而是引导备用根(例如,Solaris 10 发行版)作为活动 OS。然后在不使用 -R 选项的情况下安装和卸载 Solaris 10 软件包和修补程序。

升级到 Solaris 10 11/06 或更改特定设备配置可能会破坏 PCI/PCIe 热插拔管理 (6466526)

cfgadm 命令会显示不正确或格式与 cfgadm_pci(1M) 手册页中指定格式不一致的 Apld。在以下情况下会出现这种不一致问题:

不会显示特定错误消息。但 cfgadm 命令可能会显示以下内容之一:

如果 ApId 无法正常使用,则 cfgadm 命令将显示相应的错误消息:

解决方法:删除 /dev/cfg 目录下的所有 PCI 和 PCIe 链接,然后运行命令 devfsadm -C。PCI 和 PCIe 链接将显示为 ApId,如下:


cfgadm -s "select=class(pci)"

由于 wbem 问题,smosservicesmdiskless 中断 (6378956)

由于依赖于 JDKTM 1.5 发行版,smosservicesmdiskless 命令可能不起作用。

将显示以下错误消息:


 /usr/sadm/bin/smosservice list -u <user> -p <password> Exception in thread "main" 
java.lang.UnsupportedClassVersionError: 
com/sun/management/viperimpl/console/BaseConsoleOptionsManager 
(Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
       at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
       at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
       at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
       at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
       at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
       at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
       at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

解决方法:

设置 JAVA_HOME 变量以指向 JDK 1.5 安装。


# JAVA_HOME=/usr/java

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 远程服务网络连接

仅在全局区域中支持 Sun 远程服务 (Sun Remote Services, SRS) 网络连接。如果执行下列操作之一,会显示错误消息:

错误消息如下所示:


*** 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 发行版开始,将正确报告和记录这些错误。


SPARC: 动态重新配置期间显示错误消息 (6312424)

在动态重新配置 (dynamic reconfiguration, DR) 期间,可能会显示错误消息。如果执行 DR 时 DR 路径中的设备上的输入和输出操作处于活动状态,则会显示这些消息。显示这些消息后,将重试输入和输出操作并最终获得成功。以下是显示的错误消息的样例:


Jul 28 12:23:19 qame10-a scsi: [ID 107833 kern.warning] WARNING:
/ssm@0,0/pci@19,700000/SUNW,qlc@2,1/fp@0,0/ssd@w2100000c5056fa13,0 (ssd6):
Jul 28 12:23:19 qame10-a 	transport rejected fatal error
Jul 28 12:22:08 qame10-a scsi: [ID 107833 kern.warning] WARNING:
/ssm@0,0/pci@19,700000/SUNW,qlc@2,1/fp@0,0/ssd@w2100000c5056f9a7,0 (ssd36):
Jul 28 12:22:08 qame10-a 	SCSI transport failed: reason 'timeout':
retrying command

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

删除区域的修补程序后执行 pkgchk 时显示错误消息 (6267966)

patchaddpatchrm 命令在具有继承文件系统的非全局区域中无法正常工作。因此,在以下情况下,pkgchk 命令在这些区域中可能会生成有关软件包的错误消息:

  1. 在全局区域中,使用 patchadd 命令将修补程序应用于 Solaris 10 区域系统。

  2. 使用 patchrm 命令删除刚才应用的修补程序。

  3. 在具有继承文件系统的非全局区域中,可使用 pkgchk 命令在任何已删除的修补程序中检查有关某个软件包的信息。

在以上所列的各种情况下,如果在 SUNWcsu 上使用 pkgchk 命令,则会显示类似以下样例的消息。


# pkgchk SUNWcsu
ERROR: /usr/lib/inet/certdb
     modtime <04/26/05 10:55:26 PM> expected <01/23/05 01:48:24 AM> actual
     file size <36012> expected <42152> actual
     file cksum <37098> expected <19747> actual
ERROR: /usr/lib/inet/certlocal
     modtime <04/26/05 10:55:26 PM> expected <01/23/05 01:48:24 AM> actual
     file size <44348> expected <84636> actual

解决方法:无。这些错误没有什么影响。忽略错误消息。

EF/kcfd 与 IPsec 算法可用性之间出现竞争情况 (6266083)

具有 Solaris 10 3/05 HW1 发行版的系统可能导致与 IPsec 相关的问题。此问题可能会出现在刚刚安装的系统或在引导期间导入大量新的服务管理工具 (Service Management Facility, SMF) 清单的系统上。出现这些引导情况后,IPsec(svc:/network/initial:default 的一部分)可能会在加密框架(svc:/system/cryptosvc:default 的一部分)之前进行初始化。由于验证或加密算法不可用,可能无法创建 IPsec 安全关联,并将显示如下所示的错误消息:


PF_KEY error: type=ADD, errno=22:
Invalid argument, diagnostic  code=40:
Unsupported authentication algorithm

例如,在 Sun Fire E25K 系统上使用 DR 时可能会出现此错误,因为该操作涉及 IPsec 服务。

解决方法:在执行使用 IPsec 服务的操作前,如果在引导期间导入大量新 SMF 清单,请在引导后执行以下步骤:

  1. 在引导后发出此命令:


    ipsecalgs -s
    
  2. 如果系统中存在 /etc/inet/secret/ipseckeys,则还需要发出此命令:


    ipseckey -f /etc/inet/secret/ipseckeys
    

现在您可以执行需要创建 IPsec 安全关联的操作,如在 Sun Fire E25K 系统上使用 DR。

仅当在引导期间导入大量新 SMF 清单的情况下需要重复本过程。

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

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

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


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

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

无法从系统中删除现有无盘客户机 (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


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 Volume Manager 软件创建了镜像。

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

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

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

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

解决方法:无。

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 软件,则只完全支持通用信息模型 (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

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

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

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