结论:可以运行,但限于特定版本,且官方已不再推荐用于生产环境。
Informix 在 Linux 上的支持非常成熟,但 Ubuntu 并不在 IBM 官方支持列表的首位。以下是详细情况:
1. 官方支持情况
- 主流支持系统:IBM 官方主要支持 Red Hat Enterprise Linux (RHEL)、SUSE Linux Enterprise Server (SLES) 以及 CentOS(作为 RHEL 的替代品)。
- Ubuntu 支持:较新版本的 Informix(如 Informix 14.10)开始提供对 Ubuntu LTS(长期支持版) 的官方支持,但通常是作为“社区版”或次选支持。
- 老版本限制:如果你使用的是较老的 Informix(如 11.7 或 12.10),在 Ubuntu 上安装可能会遇到库文件不兼容的问题(例如 glibc 版本过高或过低)。
2. 在 Ubuntu 上运行的可行性
- 开发/测试环境:完全没问题。很多开发者在 Ubuntu 上安装 Informix 进行开发调试。只要解决依赖库的问题,运行非常稳定。
- 生产环境:不推荐。企业生产环境通常追求极致的稳定性,建议使用 RHEL 或 SLES。如果必须在 Ubuntu 上跑生产,务必进行充分的压力测试。
3. 安装时可能遇到的坑(及解决方案)
在 Ubuntu 上安装 Informix 最大的问题是 依赖库缺失。
- libaio 问题:Informix 需要
libaio1。Ubuntu 默认可能没有安装。
- 解决:
sudo apt-get install libaio1
- 32位库问题:如果你安装的是较老的 32 位 Informix,可能需要安装
libc6-i386 等兼容库。
- 安装脚本报错:Informix 的安装脚本(如
ids_install)有时会因为 Ubuntu 的 shell 解释器或环境变量报错。建议使用 bash 运行,并确保 JAVA_HOME 设置正确(安装包通常自带 JRE,但有时需要手动指定)。
- Systemd vs SysVinit:新版本 Ubuntu 使用 systemd,而 Informix 传统的启动脚本是 SysVinit 风格。IBM 在新版本中已经适配了 systemd,但老版本可能需要手动编写 service 文件。
4. 推荐方案
如果你必须使用 Ubuntu,建议按以下顺序选择:
- 首选:使用 Docker。这是目前最顺畅的方式。IBM 官方或社区提供了 Informix 的 Docker 镜像。
- 优点:环境隔离,不污染宿主机,启动快,无需处理复杂的依赖库。
- 命令示例:
docker pull ibmcom/informix-developer-database
- 次选:使用 Ubuntu LTS 版本(如 20.04 或 22.04)搭配 Informix 14.10。
- 如果必须用老版本 Informix:建议使用 CentOS 7 或 Rocky Linux 的虚拟机,而不是强行在 Ubuntu 上折腾。
总结
- 能跑吗? 能。
- 麻烦吗? 比在 RHEL/CentOS 上麻烦一点,主要是解决
.so 动态链接库的问题。
- 最佳建议:如果是个人学习或开发,用 Docker;如果是公司生产,用 RHEL/SUSE 或 CentOS 替代 Ubuntu。