IBM AIX 环境变量PATH的设置小结

今天用户碰到一个问题, 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日

你可能感兴趣的:(AIX,Path,设置,OpenSSL生成证书)