当前位置: 首页 > 科技观察

哪个Linux内核版本是“稳定的”?

时间:2023-03-13 21:53:01 科技观察

KonstantinRyabitsev解释了哪个Linux内核版本被认为是“稳定的”,以及您应该如何选择适合您的版本。每次LinusTorvalds发布新的Linux内核主线版本时,几乎都会引起这样的困惑,即哪个内核版本是最新的“稳定版”?是新的X.Y,还是之前的X.Y-1.Z?最新的内核版本是不是太“新”了?你应该坚持使用以前的版本吗?kernel.org网页上的信息不会帮助您解决这个困惑。目前,在页面的最顶部,我们看到最新的稳定内核是4.15——但在表格的下方,4.14.16也被列为“稳定”,而4.15被列为“主线”,非常困惑,是不是不是吗?不幸的是,这个问题并不容易回答。我们在这里使用“稳定”一词有两种不同的含义:首先,作为最初发布的Git树的名称,其次,表示该内核可以被视为用于“生产系统”的“稳定版本”.由于Git的分布式特性,Linux开发发生在许多不同的分支存储库中。所有的bug修复和新特性也都是先由各个子系统维护者收集准备,然后提交给LinusTorvalds,LinusTorvalds被LinusTorvalds收录到自己的Linux树中,他的Git树被认为是Git的“主人”存储库。”。我们称这棵树为“主线”Linux树。发布候选(RC)在发布每个新内核版本之前,它会经过几轮“发布候选”,开发人员在其中测试和“打磨”所有这些很酷的新功能。基于Linus根据他们从这几轮测试中得到的反馈来决定最终版本是否准备就绪。通常每周有7个预发布版本,但是这个数字经常达到-rc8,有时甚至是-rc9甚至更高。当Linus确定新内核没有问题时,他会发布最终版本,我们称之为“稳定版”,这意味着它不再是“候选版本”。错误修复就像任何由不完美的人编写的复杂软件一样,任何新版本的Linux内核都包含错误,并且必须修复这些错误。Linux内核中错误修复的规则非常简单:所有修复必须首先进入Linus的树。一旦在主线存储库中修复了一个错误,它就会被应用到仍然由内核开发社区维护的已发布内核中。所有错误修复都必须满足一组重要的标准才能被视为向后移植到已发布的稳定版本——其中之一是它们“必须已经存在于Linus的树中”。这是一个单独的Git存储库,用于修复错误,它也被称为“稳定”树——因为它用于跟踪以前发布的稳定内核。这棵树由GregKroah-Hartman策划和维护。最新的稳定内核所以每当你去kernel.org网站查看最新的稳定内核时,你应该去那个黄色大按钮上写着“最新稳定内核”的那个。但是,您可能会感到惊讶-4.15和4.14.16都是稳定版本,那么哪个更“稳定”?有些人不愿意使用“.0”内核发行版,因为他们认为在最新的“.1”可用之前它不够“稳定”。这种观点很难证明或反驳,两种观点都有支持和反对的理由,所以选择哪一种取决于你的喜好。一方面,任何进入稳定树的版本都必须首先被接受到主线内核版本中,然后再向后移植到发布版本中。这意味着与稳定树中的版本相比,内核的主线版本将始终包含最新的错误修复,因此如果你想使用包含最少“已知错误”的发行版,请使用“.0”的主线发行版是最好的选择。另一方面,主线版本添加了所有很酷的新功能——新功能带来了数量未知的“新错误”,而这些错误在旧的稳定版本中是不存在的。新的、未知的错误是否比旧的、已知但尚未修复的错误更令人担忧?-这取决于您的选择。不过,需要注意的是,许多错误修复仅针对内核的主线版本进行了全面测试。当向后移植到旧内核时,补丁可能工作正常,但它们很少与旧内核进行集成测试。通常假设“以前的稳定版本”与当前的主线版本足够接近,相信它可以在生产系统中使用。事实上,确实是这样的。当然,这也解释了为什么很难选择“哪个内核版本更稳定”。因此,从根本上说,我们没有定量或定性的方法来明确告诉您哪个内核版本更稳定——4.15还是4.14.16?我们所能做的就是告诉你,它们有“不同的稳定性”,(这个答案可能对你没有帮助,但至少你明白这些版本之间有什么区别?)。