![使用包管理器与从源代码编译以获取最新更新](https://linux22.com/image/580259/%E4%BD%BF%E7%94%A8%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8%E4%B8%8E%E4%BB%8E%E6%BA%90%E4%BB%A3%E7%A0%81%E7%BC%96%E8%AF%91%E4%BB%A5%E8%8E%B7%E5%8F%96%E6%9C%80%E6%96%B0%E6%9B%B4%E6%96%B0.png)
我在家里运行 Ubuntu 11.10 服务器,过去我一直使用apt-get
它来使我的所有软件包保持最新。最近我注意到,当我运行apt-get update/upgrade
某些软件时,其版本通常不是最新的。例如,Apache 的最新版本比 Apache 网站上的最新版本落后了 1000 多个版本。Apache 提供的更改日志表明其网站上的版本已更新了几个安全漏洞。这意味着我使用安装的版本存在漏洞apt-get
。
简单来说,是从 SSH 和 Apache 等源代码下载并编译必要的软件以获得最安全和最新的版本,还是使用包管理器是apt-get
更好的选择?我只运行 1-2 台服务器,因此自动化或更新多台机器对我来说不适用。谢谢!
答案1
Ubuntu 开发人员将软件包中的安全漏洞移植到 ubuntu 维护的软件包中。即使您可能无法始终获得最新的软件版本,但您可以放心,您安装的版本在 Ubuntu 版本的整个生命周期内都受到安全升级支持。
我建议你尽可能使用可用的 ubuntu 软件包。如果你因为当前版本缺少某个功能而需要更新版本的软件包,则应检查是否有维护的第三方电力供应协议(个人包裹档案)。
答案2
当您检查更改日志时,您会发现相同的漏洞已在最新的软件包中修复。
这种做法称为反向移植 - 避免使用新版本,因为它们可能会引入新功能(和错误)。应用安全漏洞补丁,但使用的软件的版本号不会改变。