今天用户碰到一个问题, openssl生成数字证书时,报错如下:
[root@WEB]~$ openssl req -nodes -newkey rsa:2048 -keyout server.key -out pupprd.csr
exec(): 0509-036 Cannot load program openssl because of the following errors:
0509-150 Dependent module /tripwire/tripwire/lib/tripwire/libcrypto.a(libcrypto.so.0.9.8) could not be loaded.
0509-152 Member libcrypto.so.0.9.8 is not found in archive
其实用户已经敏锐地发现了这个libcrypto.so.0.9.8是一个老版本,新版本在/usr/lib中
然后就向我这边询问,是利用软链接“/tripwire/tripwire/lib/tripwire/libcrypto.a” --“/usr/lib/libcrypto.a”,还是修改环境变量的方法来改变.
我这个二把刀的管理员赶紧搜资料,引经据典啊,不过对于这个PATH一直有点半懂不懂(大家不要学我啊).
还好,有一个技术大能帮我理了理思路,
在AIX中我们的环境变量通过一下三者来实现:
/etc/profile |
/etc/environment |
$HOME/.profile, $HOME/.env |
大能是这样说的:
/etc/.profile 中 PATH=a:b:c,
而$HOME/.profile中的PATH=d:e:f,那么在当前用户的环境下,Patch=d:e:f
如果而$HOME/.profile中的PATH=:d:e,那么在当前用户的环境下,Patch=a:b:c:d:e,
其中有继承,改写的效果
在IBM的页面中我找到了相关的内容
http://www.ibm.com/developerworks/cn/aix/library/1008_zhudy_aixtips/index.html?ca=dat
在"安全的设置系统的关键变量之一 - 'PATH'"这一段落中,我们需要在ksh环境下使用先赋值再在export的方法.
根据环境变量的优先顺序,要想追加环境变量的继承关系,我们当前的环境变量情况用env来查看,
添加环境变量用以下命令:
LIBPATH=:/usr/lib:/tripwire/tripwire/lib/tripwire:
export LIBPATH这样有一个好处,只是临时改变环境变量LIBPATH
问题解决了,二把刀果然是不行的啊
求大家推荐AIX读物啊
2014年1月21日