从源代码编译还是从包安装?

从源代码编译还是从包安装?

我正在尝试构建一个新的 Web 服务器和数据库服务器,我通常使用 YUM 安装 apache 和 mysql。我很好奇,

为什么大多数有经验的系统管理员更喜欢从源代码编译 apache 和 mysql,而不是从构建包安装?

编译是否更安全、更灵活?

或者当它们从源代码(例如 apache)构建时执行速度更快?

请列出从源代码编译的优点和缺点。

谢谢 :)

答案1

当有软件包可用于安装软件时,请使用它。具体到您的情况,谈到 Web 和数据库服务器,任何发行版中都有很多这样的软件包:

  • 阿帕奇(网络)
  • Nginx(网络)
  • Lighttp (网络)
  • Mysql(数据库)
  • Postgresql(数据库)
  • MariaDB(数据库)
  • ...

通过使用您的发行版提供的软件包,您一定会收到更新(补丁、安全更新等)并能够轻松地应用它们。

还要注意,在某些商业发行版中,如果您安装自己编译的软件包,您可能会失去获得支持的权利。

只有当您绝对需要此软件并且没有其他方法以软件包格式获取它时,才可以选择从您编译的源代码安装软件。或者,如果您绝对想运行最新版本或甚至是预发布版本(测试版软件,...)。但在生产机器上,请尝试坚持使用软件包。

答案2

经验丰富的系统管理员不会从源代码构建软件,因为这种软件很难管理。您无法轻松地将其部署到服务器上,也无法使用供应商补丁自动更新软件,而通过软件包管理器安装时会定期提供这些补丁。

答案3

我没有列出优点和缺点,但仅有的我从源代码安装的次数是

  1. $software 的打包版本与我需要使用的生产软件不兼容。

  2. $software 软件包不存在

  3. 内核补丁

这就是全部了,除此之外我信任(!)包管理器,而且它也使生活变得更轻松。

相关内容