我需要在生产 Debian GNU/Linux 服务器上运行 2 个专有 C++ 应用程序,一个是 64 位,另一个是 32 位。
两者都对 Debian 提供的库有大量依赖。例如,下面是其中几个:
应用程序A(64 位) 依赖于取决于 :
- mysql(64 位)
- libssl(64 位)
- Libboost(64 位)
- ...
应用程序 B (32 位) 依赖于取决于:
- libssl(32 位)
- libboost(32 位)
- ...
如果我安装 64 位 Debian Lenny,我将获得一个运行应用程序 A 的出色操作系统。但对于应用程序 B,我必须自己维护(和更新)32 位库,将每个库反向移植到 /usr/lib32 中。
有没有我没想过的解决这个问题的方法?或者这是一个坏主意,不应该在生产服务器上使用?
答案1
一个选项是构建一个完整的 32 位安装,以 chroot 环境运行,debian 有很好的工具,例如,我会看看 debootstrap
debootstrap --arch i386 gutsy /mnt/32bit_install http://ftp.us.debian.org/debian
答案2
这是正常情况。Debian 有一些关于此问题的很好的指南。请参阅这里。对 32 位应用程序进行 Chrooting 将为您提供一个干净的 32 位环境,以便您正常使用和维护。