我的公司在我们的网络服务器上有一个非常实际的补丁管理问题。公共服务器已过时,现在管理层认为这是优先事项。但是,他们不是简单地更新和修补现有服务器(以及随之而来的所有测试),而是开始迁移到Solaris服务器,以此作为“缓解问题”的方法。 (我认为这是因为他们碰巧有一些solaris服务器坐在附近)
我对Solaris没有任何问题,我发现从技术上讲,我的所有php web代码都可以与MySQL数据库一起运行。我也理解从php4升级到php5需要花费太多的思考和测试。
我想知道的是,当服务器团队回来告诉我我的代码不起作用时,我应该有什么样的问题。我现在想开始寻找麻烦来缓解过渡。
我们目前拥有上一代堆栈,我认为他们在升级和迁移PHP,MySQL和Apache服务器时会投入当前版本
问题摘要: 我的公司正在从Linux服务器上的PHP4站点迁移到Solaris服务器上的PHP4站点。在准备移动代码时,我应该考虑哪些问题?
答案 0 :(得分:2)
有一些重要的细节。
首先,我认为您需要一份服务合同来访问安全补丁集。接下来,您必须从Sun的网站下载每月(或季度)补丁集。通过执行补丁集附带的shell脚本来安装补丁。某些甚至大多数补丁都会出现故障,具体取决于该补丁是否适用于您的配置。
在第一轮补丁之后,重新启动框:reboot - (不要忘记两个破折号),以便内核知道更新配置信息。之后,如果第一轮修补中存在依赖关系,则再次安装相同的修补程序集。猜猜看,再次重启。
这是一个比Linux(或至少是Linux的一些变体)更为正式的维护系统。显然PHP,MySQL,Apache等都可以正常工作。但是根据您选择的芯片组(酷线程),您需要安装其SAMP堆栈的正确调整版本(它被称为像glassfish堆栈之类的东西)。
我不会太担心shell,因为以root身份运行对于大多数管理员来说并不常见 - 所以你可以选择bash或ksh。此外,不会更改/ bin / sh 中的根shell,如果您对某些共享库(例如libc.so)进行操作,则它会静态链接。
您还需要下载SunStudio(当前版本为12.1)并使用Sun的编译器编译下载的源文件,因为它可以更好地优化SPARC芯片组。并且在编译时不要忘记使用-fast编译器标志。除此之外,我唯一能想到的是下载Sun的DTrace指南(动态跟踪指南)。
哦,并阅读 pkgadd 和 pkgrm 。还有一件事, top 可能不存在于默认安装中,因此请使用Sun的版本: prstat 。并熟悉 svcadm 来管理服务。唉,这就是我能想到的全部。
答案 1 :(得分:1)
如果您知道,可以使用哪个版本的Solaris?
在php4级别上会有很小的差别,假设他们安装相同或更新版本的PHP和MySQL。迁移到Solaris时更容易破解的是shell或C代码,所以如果你对这些代码负责,那么你还有更多工作要做。
关于shell的主题,值得记住的是Solaris使用Bourne shell而不是Bash,因为它是/bin/sh
;很多人都有很少的shell用于各种任务,并且很容易让bash-isms在那里无法在vanilla bourne-shell中运行。
同样,如果你根本没有外部二进制文件,那么Solaris可能会完全不同。