我管理多个 BIND DNS 服务器(在 RHEL/Centos 上),用于权威查询(正向和反向)以及专用的缓存服务。我一直在包管理器中使用最新的稳定版 BIND,但一直想知道我是否应该编译最新的稳定版以“正确执行”。其他人怎么做?编译的利弊是什么?
答案1
通常我会使用供应商最新的软件包版本来保持更新。就 RH(和 Centos)而言,尽管软件包的主要版本号可能不会改变,但它们通常会从后续版本中反向移植密钥和关键补丁。
为了方便我,如果我确实想转到软件包的较新版本,可以下载供应商源软件包,获取要编译的新版本软件,修复软件包的 specs 软件包以适应新版本。运行 rpmbuild 生成软件包后,我就可以 rpm --install 它。这样做的好处之一是,最终的放置位置和配置选项可以保留,而不需要太多麻烦。
答案2
我使用软件包版本,尤其是面向互联网的应用程序。如果您使用 Centos、Red Hat、Ubuntu 或 Debian 等主流发行版,您将获得所有最新的安全修复,即使它不是最新的主要版本号。安全性和稳定性比拥有绝对最新的功能更重要,尤其是像 BIND 这样的功能。
答案3
这次我要反其道而行之。对于面向互联网的东西,我更喜欢使用最新的稳定版本,所以我从源代码构建。我不知道 Red Hat 的情况,但 CentOS 软件包往往比最新版本落后很多,这意味着你很可能正在安装已经存在已知安全问题的东西。我只是对这种事情感到紧张。
答案4
尽可能使用打包版本。如果必须更改,您需要订阅邮件列表并关注任何软件漏洞,以便知道何时需要修补。