你以前有没有遇到部署 Linux 的困难?
我需要将一个应用程序部署到一台没有外部网络访问的专用 Linux 机器上。配置应该尽可能简单,对于不同的配置(缺失的库和构建工具)应该是健壮的,最好是自动化的。我需要考虑的另一个困难是,我需要连接到一个 Oracle 数据库。
您会推荐什么作为最佳部署方式?我有一些想法,但不确定哪个是最好的。
- 我可以使用 Java
- 我需要安装 JDK,并解决大部分问题
- 另一个大问题是,我们目前在 Java 中编写的代码质量较差且速度慢。
- 我不确定是否需要在 Linux 下安装 Instantclient 来连接 Oracle
- 我可以使用 C (我已经拥有了一个非常精确编写的 LGPL 程序的源代码)
- 并使用 dpkg 进行部署
- Linux 机器很可能是 Ubuntu 服务器,但我不确定安装了哪个版本
- 我不能使用
apt-get
,但我可以复制我需要的所有包 - 我知道我可以使用
dpkg -s
来检查它们是哪些包,但我真的不确定是否会遗漏依赖项。 - 我猜我需要 build-essentials 和 pcap 等
- 并使用静态链接
- 我已经使用
./configure LDFLAGS=-static
进行了配置,没有错误,并且现在在我的计算机上可以使用它 - 我已经
chroot
到这个目录并运行它了,没有问题,这意味着这样做是可行的吗? - 我确实需要在新的 Linux 机器上测试这个
- 我已经使用
- 并使用 Statifier
- 我浏览了 stackoverflow 并找到了这个应用程序,还没有尝试过。
- 看起来人们有时使用它成功,有时不成功。
- 并创建一个构建环境和 make
- 我对此没有信心
- 并使用 dpkg 进行部署
- 使用 C 会带来一些问题
- 但该程序是不完整的,我必须处理这些数据,最好不要使用 C。
- 我必须安装 Instantclient,这很难部署
- 我可以使用 Perl
- 我不能使用 CPAN
- 我已经下载了库文件,所以也许我可以将它们复制到部署的机器中,但我不确定如何操作或者是否行得通
- Perl 很慢
- 无论如何我仍然需要安装 Instantclient
请分享您相似的经验。