为什么在VPS包中的服务器上安装一长串操作系统? 通常情况下,最新版本的软件是最好的(由于修复了错误和新function)。 当Ubuntu 11.10和Centos 6.0已经发布时,为什么人们有兴趣安装老版本,如Centos 5.5,5.0,4.0等(或Ubuntu 10,9,8)?
为什么在VPS包中的服务器上安装一长串操作系统?
供应商只能定期更新他们的VPS包。 也许他们是sl,不驯的,或者说他们正在等待上游供应商弃用较早版本的VPS服务。 他们可能没有看到从列表中删除较旧版本的软件的任何价值。
通常情况下,最新版本的软件是最好的(由于修复了错误和新function)。
这往往是不正确的。 一个软件的最新版本通常经历了比较老的软件less得多的testing。 许多系统pipe理员更喜欢安装我们称之为“成熟”的软件,而不是最新最好的软件。
这里有些例子:
也就是说,最新修补操作系统的修补程序是明智的。 CentOS 5.7确实修复了CentOS 5.5及更早版本中存在的许多漏洞和安全漏洞。
当Ubuntu 11.10和Centos 6.0已经发布时,为什么人们有兴趣安装老版本,如Centos 5.5,5.0,4.0等(或Ubuntu 10,9,8)?
CentOS 5.5有点旧,但5.x分支仍然是最新的(5.7在2011年9月发布),可能是服务器环境中最常见的Linux安装之一。 由于将现有的系统从CentOS 5迁移到6的困难,CentOS 6可能更常见。
出血边缘并不总是最稳定是一个很大的原因。 在Ubunutu的情况下,最新版本至less支持18个月。 LTS版本支持五年(服务器版本),即将达到5年(台式机和服务器),12.04。
Ubuntu LTS Wiki
另一个很好的原因可能是开发人员需要与生产环境完全相同的testing环境。 他们也可能对将这些旧版本安装到虚拟机中感兴趣,以便在相同发行版的各种版本上testing他们的软件。
除了别人提到的理由之外,有时候某些软件需要更老的依赖才能运行。 从CentOS的经验来看,我知道在主要版本之间文件会从一个包移动到另一个包。 有时候,一个文件被从软件包中删除,而不是放在另一个文件中。 在大多数情况下,这是因为该文件已经被更好的选项所取代,或者因为它从来没有任何好处。 许多开发人员不希望寻找新的软件包或重写完美的工作代码来使用首选的替代方法。 在这种情况下,开发人员将限制他们允许的依赖关系的版本(为了以防万一,通常会主动完成)。
在许多情况下,尝试降级依赖包是一场噩梦,特别是如果包依赖于核心系统组件的话。
向后兼容性对于升级/更新花费太多的东西。
一些组织喜欢把他们的操作系统版本stream失到最低限度,以至于即使是新的操作系统,也可能会加载“当前标准”版本的操作系统。
考虑它“最终”意味着它运行良好,没有错误或缺点。 这是他们有信心的版本将是稳定的。 他们已经“掌握”了,已经够久了。
所有的新东西都是新的。 更多的错误,并支持问题。 并不意味着95%的时间都不行。