我正在编写一系列的原因,为什么就地升级软件和操作系统是一个坏主意。 我有很多人认为在旧版本的基础上安装新版本的软件或操作系统会更容易,更好。 然而,我相信这通常是一个糟糕的主意,最好多花些时间来卸载以前版本的软件,或者干脆安装操作系统。 所有这一切都取决于是否有可靠的备份操作。
我想收集人们对于干净设施的其他想法。
提前感谢您的帮助。 我期待着听到你们有什么共享。
如果系统pipe理员喜欢就地升级,我会感到惊讶。 简单的事实是,他们不是也绝不可靠。 首先,你必须做出一个巨大的假设:系统中最初安装的每个软件包都是100%正确打包的。 这从来都不是真的。 总是有一些包含逻辑错误的包,或者写入他们忘记在包spec文件中提到的文件。 编写软件包脚本是非常不起眼的工作,并且总是分配给任何软件团队中最年轻的开发人员。
然后,您必须假定主机的pipe理是正确的。 没有人进去,手动修改configuration或手动安装的二进制文件与打包的二进制文件冲突。 那绝对不会发生,对吧?
请记住,安装所有这些新软件包意味着先closures旧版本的软件包。 软件包closures脚本是所有软件中testing最差的软件之一。 没有人想要处理他们宝贵的软件包被停用和丢弃的难以置信的无聊和不可思议的情况。 另外还有一个很大的问题 – closures包含共享库的软件包意味着做一些非常聪明的工作来closures将这些库加载到内存中的软件包,或者在内存中交换正在运行的库。 这是非常难以得到正确的。
最后,你必须假设为系统制作新版本的人们彻底地testing了所有可能的升级组合,而不仅仅是把刚才的版本升级到最简单的情况。 你必须相信,他们不知何故能够投入必要的无限资源来处理每一个可能的升级path。
正如你所看到的那样,这是一个巨大的假设。 实际上,这些条件都不是真的。 人们一直在机器上安装自己的二进制文件。 软件包的安装和删除脚本总是有问题的(我可以单独就这一个问题写一篇论文)。 最终的结果是就地升级是一个傻瓜的差事。
我还应该注意到,去年我的团队在我的工作中对7500台服务器进行了主要的操作系统和软件升级。 我们努力做了一个就地升级工作,但最终却没有,因为上面列出的许多原因。 我们最终清除了所有的机器,并从头开始安装操作系统和所有的软件。 问题解决了。
所有这些都导致了我的笑话,即软件发行经理的口头禅是从轨道上消除它 – 这是确保的唯一方法。 完全擦拭和重新安装系统是成功的唯一可靠途径。 大部分时间你可以通过增量升级来获得,但最终是时候重新开始。
如果有select,我不能说我是一个就地升级的粉丝,但有些时候它是有道理的。 信息技术的答案往往不是一回事,而是“不那么容易”。
您必须平衡就地升级的成本与全新安装和数据导入的成本,并且在每种types的升级的最佳和最差情况下都需要同时考虑这两种方法的实际平衡,问题(某些产品比其他产品更糟糕,因为有些公司的升级和支持人员会告诉你他们支持升级,但是如果可能的话,更喜欢干净的安装)。 如果可以将软件升级与硬件升级联系起来,那么这可能有助于使“干净安装和迁移”path更具吸引力。
升级到系统的最新版本时,升级几乎总是有问题的一种情况是您尝试修复故障的位置。 这往往会导致某些地方出现问题 – 一天结束的时候,你不能build立在贫穷的基础上。 另一方面,具有良好,良好支持和经过良好testing的升级path的完美安装系统可能非常适合于就地升级。 添加许多在就地升级中保留的自定义设置,但是在迁移中丢失了,这是就地升级可能是更好的select的一种情况。
需要考虑的一点是,全新的安装和迁移方法可能会提高可用性(取决于迁移步骤能够顺利进行,例如Microsoft Exchange可以很好地处理这个问题),而且如果您的系统可以为您提供一个非常好的“回滚”策略对于新版本的系统有问题。
当谈到服务器操作系统就地升级不是最好的想法时,我同意你的看法。 但是对于工作站,我已经完成了XP> Vista> 7的升级。 尽pipe需要更长的时间,但用户却乐于按照原来的方式进行。
至于软件,如果安装程序提供卸载作为进程的一部分,那么在那里不应该有问题,因为这就是它的意思。 一些应用程序也可以安装在旧的新版本。
你没有提到你升级什么,软件types或操作系统。 你应该在这些细节上放一些信息。
在这一天结束的时候,所有就地升级软件或操作系统的一揽子声明是不好的,就像说你不使用自动更新一样,因为有一次,你有一个更新给你一个问题。