use*_*706 9 64-bit database 12.04 software-installation
这发生在我身上。如果它发生在您身上,也许这可以为您节省一些时间。
我在包含 LAMP 堆栈的 SoftLayer 64 位 Ubuntu 12.04 Linux 系统上安装 64 位 DB2 10.5 服务器(不确定具体是什么产品包——有人给了我)。
底线第一:事实证明,我缺少 32 位 libpam 和 64 位 libaio,需要执行以下操作:
apt-get install libpam0g:i386 libaio1
Run Code Online (Sandbox Code Playgroud)
大多数人的里程数无疑会有所不同。如果只有部分经验适用于您,并且对您有帮助,这里有更多详细信息。
安装前,db2prereqcheck
抱怨:
DBT3514W The db2prereqcheck utility failed to find the following
32-bit library file: "/lib/libpam.so*".
Run Code Online (Sandbox Code Playgroud)
果然,我只有:
/lib/x86_64-linux-gnu/libpam.so.0.83.0
/lib/x86_64-linux-gnu/libpamc.so.0
/lib/x86_64-linux-gnu/libpam.so.0
/lib/x86_64-linux-gnu/libpam_misc.so.0.82.0
/lib/x86_64-linux-gnu/libpamc.so.0.82.1
/lib/x86_64-linux-gnu/libpam_misc.so.0
Run Code Online (Sandbox Code Playgroud)
在浏览了一些网络后,我做了:
apt-get install libpam0g:i386
Run Code Online (Sandbox Code Playgroud)
之后我也有:
/lib/i386-linux-gnu/libpam.so.0.83.0
/lib/i386-linux-gnu/libpamc.so.0
/lib/i386-linux-gnu/libpam.so.0
/lib/i386-linux-gnu/libpam_misc.so.0.82.0
/lib/i386-linux-gnu/libpamc.so.0.82.1
/lib/i386-linux-gnu/libpam_misc.so.0
Run Code Online (Sandbox Code Playgroud)
但是 db2prereqcheck 仍然提出了同样的抱怨。
网上推荐的一些地方:
ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0
Run Code Online (Sandbox Code Playgroud)
但这在我看来就像一个怪诞的黑客,肯定会让我在更远的道路上使用不同的应用程序遇到不同的麻烦。
我尝试了很多环境变量的东西,包括
LD_LIBRARY_PATH
and LD_LIBRARY_PATH_32
,但没有任何帮助db2prereqcheck
.
我信任的人说无论如何都要继续安装。所以我做了
db2_install
Run Code Online (Sandbox Code Playgroud)
(这是一个远程无头系统),尽管作为安装一部分运行的 db2prereqcheck 抱怨,但安装确实有效。
可悲的是,db2start 抱怨:
sqllib/adm/db2start: error while loading shared libraries:
libaio.so.1: wrong ELF class: ELFCLASS32
Run Code Online (Sandbox Code Playgroud)
我信任的人推荐:
apt-get install libaio1
Run Code Online (Sandbox Code Playgroud)
它安装了 64 位 libaio(在此之前我的系统只包含 32 位),之后我得到了:
/lib/i386-linux-gnu/libaio.so.1.0.1
/lib/i386-linux-gnu/libaio.so.1
/lib/x86_64-linux-gnu/libaio.so.1.0.1
/lib/x86_64-linux-gnu/libaio.so.1
Run Code Online (Sandbox Code Playgroud)
在那之后,一切都很顺利。
同样,底线:我错过了 32 位 libpam 和 64 位 libaio。
顺便说一句,我的系统映像已经包含了包libstdc++6
和lib32stdc++6
——很多人在他们的环境中似乎缺少的东西。
希望这可以帮助。
小智 8
在 Ubuntu 服务器 14.04.02(64 位)上,我必须在安装 DB2 10.5 之前安装以下软件包:
小智 1
ldconfig
安装i386版本的pam库后可能要运行;DB2 在链接器缓存中搜索它的依赖项,因此如果它已安装并且 中有一个条目/etc/ld.so.cache.d/
,那么它应该会找到它(如果ldconfig
已运行)。
运行类似的东西strace db2 connect to sample
会给你很多信息。
小智 0
ln -s /lib/i386-linux-gnu/libpam.so.0 /lib/libpam.so.0
Run Code Online (Sandbox Code Playgroud)
尽管黑客攻击很丑陋,但这对我来说还是成功了。
apt-get install libpam0g
说一切都已安装并且是最新的。