解决了一个华南的问题,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
|
阅读(1758) | 评论(0) | 转发(1) |