我们有一个业务应用程序,它基本上运行在一个独立于操作系统的堆栈(tomcat+java+mysql)上,但我们总是运行redhat或centos。
有一位客户出于自己的原因坚持要在opensolaris上运行它(其中包括与sun签订的一份昂贵的支持协议)。
这样的迁移会有多痛苦?我们有很多配置文件和支持脚本,例如:
阿帕奇
apache/tomcat连接器
与postfix的电子邮件交互
定制服务启动/停止
两个cron作业(备份、监视)
不同的用户和权限(Java、MySQL、电子邮件、备份…)
我们的构建过程输出一个带有业务代码的.tar.gz文件和一些编辑所有操作系统配置文件的shell脚本。
任何以前的经验。
最佳答案
最大的问题是Linux上提供的GNU工具所使用的非POSIX(非标准)选项,这些工具不在solaris标准命令中。您可能认为从gnu集中移植相关工具比修改系统简单。如果您已经为命令使用了绝对路径名(/usr/bin/ls
),但您决定使用GNU版本,则必须找到修复这些方法的方法。对于用gnu版本替换opensolaris版本,我会非常谨慎;你不知道什么时候会破坏系统所依赖的东西。因此,您可以将gnu命令放在一个单独的目录中(可能不会/usr/local
,因为这是供机器所有者填充的,而不是您作为应用程序开发人员填充的),并安排使用它来代替系统命令。(注意:在solaris上,/bin
是指向/usr/bin
的符号链接;我假设opensolaris也是如此。)afaik,postfix在opensolaris上不是标准的,所以您也必须确保安装了它。
所有这些都是可行的-没有什么是不可克服的。但很大程度上取决于你的代码库。