从官方发行版安装服务器应用程序更好吗,还是应该下载并安装(并pipe理)我自己的版本?

我经常看到系统pipe理员在专用/srv/opt目录下下载和安装服务器应用程序(包括Apache等“库存”应用程序),而不是从官方存储库安装它们,例如apt-get install xxx

从发行版的官方软件包安装并运行Web服务器,电子邮件服务器,甚至是不太常见的服务(如Zope)是不是一个好主意?

不是一个坏主意。 恕我直言,相反是真实的:你需要一个很好的理由,为什么官方包是不够的。

一些问题:

  • 通过企业分布(RHEL,SLES),您将失去支持。
  • 您负责跟踪安全修复程序。 通常,这是由分发的安全团队完成的。
  • 花时间,有时很多,让它运行。

当然,当你需要一个新版本的特定function或只是一个非常具体的configuration时,做自己的事情是一个有效的方法,但是它会有缺点。

从发行版的官方软件包安装并运行Web服务器,电子邮件服务器,甚至是不太常见的服务(如Zope)是不是一个好主意?

取决于你想要达到的目标。

主要的发布版本通常会在推出关键安全补丁方面相对较快,并且通常会附带一个工具来识别它们并通知您 – 当您从tarball安装时,您不会得到这些补丁。

OTOH他们在提供非关键更新方面速度较慢,不想使用多个版本的软件复杂化他们的支持stream程,(商业供应商)确实希望在出现新版本时购买新版本。 有时候这个function根本无法使用 – 例如RHEL中的php sqlite支持。

从头开始编译意味着(如果您知道自己在做什么),您可以构build一个针对您的硬件进行了优化的二进制文件。 你确实需要确保你的软件没有以分销商提供的软件为依托,否则你会被依附到地狱!

所以从开发人员而不是分销商那里获得安装是有好处的 – 但是您需要规划时间和stream程来保证系统安全。 当然,你应该有一个很好的理由这样做。

C。

Debian(尤其是)当它被彻底审查为“稳定”时发布版本。 在使用存储库版本时,您可以相当放心,如果有任何问题,它可以工作。

安全维护论证也是非常有效的。

对于我来说,除非我需要一个未经Debian或Ubuntu审批程序过滤的版本中的新function,而且这是绝对需要的,否则我坚持使用版本库。

-Waldo

对于Postgresql和MySQL,我总是提供我们自己的编译,python的版本和它的各种插件也一样。 我认为大多数开发者会同意他们坚持自己的商定版本的软件和库。

我通常坚持使用分发包(CentOS)。 使用两台以上的服务器,如果您从源代码或非分发软件包进行安装,则很难跟上安全修补程序。 我们确实有例外:我们从Oracle / Sun软件包中手工安装Java,而不是在CentOS中使用破碎的Java。 而且,我们从Oracle / Sun软件包安装MySQL以获取最新的稳定版本。 即使有这两个例外,使用补丁保持最新也是一件痛苦的事情。