当在Solaris 10中创建zone时,出现如下错误:
# zonecfg -z demo
zonecfg:demo> create
Killed
重新启动系统,上述故障依旧,且系统控制台上记录了以下错误:
Loading smf(5) service descriptions: 1/23
WARNING: svccfg import /var/svc/manifest/application/management/seaport.xml failed
2/23
WARNING: svccfg import /var/svc/manifest/application/management/sma.xml failed
…
23/23
WARNING: svccfg import /var/svc/manifest/system/pools.xml failed
可以看出,上述错误的公共之处便是svccfg无法导入XML格式的配置文件,结合在调用”zonecfg”命令创建zone时出现的错误中也包含xml关键字,所以该故障可能同驱动xml的部件有关.
查看当前安装的xml版本,发现其版本比没有故障的系统中所安装的xml版本要低:
# pkginfo -l SUNWlxml | grep VERSION
VERSION: 11.8.0,REV=2003.10.01.03.19
解决方法
该库文件包含在SUNWlxml包内,将该包删除,并安装最新版本的软件包:
# pkgadd -d
新的软件包安装完成后,”ldd”命令的输出只包含一行:
# pkginfo -l SUNWlxml | grep VERSION
VERSION: 11.10.0,REV=2005.01.08.05.16
在安装新版本的xml包后,上述故障消失,同时在系统重启时其控制台没再报告以上类似的错误.
结论
Solaris 10在初始安装完成后,其默认的xml包的版本就是11.10.0,不可能是11.8,为什么会产生上述情况呢?后经客户指出,他们在操作系统安装完成后,又手工安装了一个较低版本的xml包,正是由于系统中关键组件XML库文件(在Solaris 10中大部分核心服务都依赖该包)版本太低所导致了上述故障