解决了一个华南的问题,dc 5.0上面安装db2 7.2报错.
suzhuogen 写道:
大家好:
在dc4.1 跟dc 5.0上面安装db2 7.2时候出现错误,我已经把错误信息截图下来。麻烦两位帮个忙,看看 如何解决这个问题。
客户要求:一定要用简体中文安装,如果不用简体中文安装备份的数 据导不进去。
显示提示是
[root@dc5 tmp]# rpm -ivh db2whzh71-7.1.0-40.i386.rpm --nodeps
preparing... ########################################### [100%]
1:db2whzh71 ########################################### [100%]
/var/tmp/rpm-tmp.70784: line 16: localename: parameter null or not set
error: %post(db2whzh71-7.1.0-40.i386) scriptlet failed, exit status 1
[root@dc5 tmp]#
|
从提示看,是16行的localename有问题.这个/var/tmp/rpm-tmp.70784已经没有了,是安装的时候释放出来,而且有16行这个提示,看来是一个脚本.突然想到是rpm包中的scripts,所以查看,发现的确一段脚本中用到了localename这个变亮,但是这个变亮没有定义过,所以抱错。我想可以安装之前先export,我试了一下,没有问题。可以解决。所以回复邮件。[root@dc5 tmp]# rpm -ivh db2whzh71-7.1.0-40.i386.rpm --nodeps
preparing... ########################################### [100%]
1:db2whzh71 ########################################### [100%]
/var/tmp/rpm-tmp.70784: line 16: localename: parameter null or not set
error: %post(db2whzh71-7.1.0-40.i386) scriptlet failed, exit status 1
[root@dc5 tmp]#
看来在我这是一样的效果,查看此rpm包中的scripts就知道了
问题就出在scripts中有一部分是这样写的
if [ -d ${cjdir?}/${localename?} ]; then
rm -rf ${cjdir?}/zh_cn.euc 2> /dev/null
ln -s ${cjdir?}/zh ${cjdir?}/zh_cn.euc
rm -rf ${cjdir?}/zh_cn.gbk 2> /dev/null
ln -s ${cjdir?}/zh ${cjdir?}/zh_cn.gbk
fi
其中localename这个变量没有定义.所以安装之前先定义一下就没事了
[root@dc5 tmp]# export localename=123
[root@dc5 tmp]# ls
db2.sh scim-panel-socket-:0-root
db2whzh71-7.1.0-40.i386.rpm scim-panel-socket-:0-work
[root@dc5 tmp]# rpm -e db2whzh71
ls: /usr/ibmdb2/v7.1/cc/prime: 没有这个文件或目录
ls: /usr/ibmdb2/v7.1/java/prime: 没有这个文件或目录
ls: /usr/ibmdb2/v7.1/doc/prime: 没有这个文件或目录
[root@dc5 tmp]# rpm -ivh db2whzh71-7.1.0-40.i386.rpm --nodeps
preparing... ########################################### [100%]
1:db2whzh71 ########################################### [100%]
[root@dc5 tmp]#
附录是此包的scripts部分.
[root@dc5 tmp]# rpm -q --scripts db2whzh71
preinstall scriptlet (using /bin/sh):
db2dir="/usr/ibmdb2/v7.1"
localedir=${db2dir?}/doc/zh/html
if [ ! -d ${localedir?} ]; then
mkdir -p ${localedir?} 1>/dev/null 2>/dev/null
chown root ${localedir?}
chgrp bin ${localedir?}
/bin/chmod u=rwx,go=rx ${localedir?}
fi
exit 0
postinstall scriptlet (using /bin/sh):
db2dir="/usr/ibmdb2/v7.1"
ccdir="${db2dir?}/cc"
ccprimedir="${ccdir?}/prime"
cjdir="${db2dir?}/java"
cjprimedir="${cjdir?}/prime"
whlpdir="${db2dir?}/doc"
whlpprimedir="${whlpdir?}/prime"
if [ -d ${ccdir?}/zh ]; then
rm -rf ${ccdir?}/zh_cn.euc 2> /dev/null
ln -s ${ccdir?}/zh ${ccdir?}/zh_cn.euc
rm -rf ${ccdir?}/zh_cn.gbk 2> /dev/null
ln -s ${ccdir?}/zh ${ccdir?}/zh_cn.gbk
fi
if [ -d ${cjdir?}/${localename?} ]; then
rm -rf ${cjdir?}/zh_cn.euc 2> /dev/null
ln -s ${cjdir?}/zh ${cjdir?}/zh_cn.euc
rm -rf ${cjdir?}/zh_cn.gbk 2> /dev/null
ln -s ${cjdir?}/zh ${cjdir?}/zh_cn.gbk
fi
|
阅读(1587) | 评论(0) | 转发(1) |