![为什么 Debian 更新旧的软件包版本而不是提供新版本? (openssl)](https://linux22.com/image/52896/%E4%B8%BA%E4%BB%80%E4%B9%88%20Debian%20%E6%9B%B4%E6%96%B0%E6%97%A7%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%89%88%E6%9C%AC%E8%80%8C%E4%B8%8D%E6%98%AF%E6%8F%90%E4%BE%9B%E6%96%B0%E7%89%88%E6%9C%AC%EF%BC%9F%20%EF%BC%88openssl%EF%BC%89.png)
我是一个非常缺乏经验的服务器所有者,想确保我有一个修复心脏出血的方法。
更新后,“openssl版本”仍然显示1.0.1e,我想知道如何获得heartbleed免费版本。经过谷歌搜索后,我发现了“openssl version -b”和 Debians“向后移植策略”,
因为我的构建是从 4 月 8 日开始的,所以我假设我有一个固定版本。
您可以发现像我这样的用户对此感到不安的一些讨论。
它们本质上使版本号的重要性失效。
他们为什么要这样做?
答案1
Debian 根据 1.0.1e 中的所有功能验证了该版本的操作系统。 1.0.1f 向 openssl 添加了更多尚未在 Debian 环境中进行彻底测试的功能。 1.0.1g 是具有 1.0.1f 的所有功能并修复了 heartbleed 错误的版本。 Debian 软件包维护者没有使用 1.0.1g 引入这些功能和可能的不兼容性,而是获取了经过验证的 1.0.1e 的源代码并添加了 heartbleed bug 修复。这是您在进行 aptitude 更新时得到的结果。
编号问题实际上是 openssl 团队的问题。他们显然非常犹豫是否要以标准方式增加版本号,以允许在没有额外功能的情况下增加错误修复增量。正常的软件开发实践是让第一个数字表示较大的功能更改,增加第二个数字表示较小的功能更改,第三个数字保留用于没有新功能的错误修复。