了解linux内核和补丁版本

了解linux内核和补丁版本,linux,linux-kernel,Linux,Linux Kernel,我想更好地了解linux内核/补丁版本是如何工作的 例如,如果我今天(2013年12月12日)打开www.kernel.org,主下载(黄色按钮)会将我带到最新版本的“linux-3.12.5.tar.xx”。这是清楚的 但如果我进入“”,我可以(在许多档案中)找到: (1) linux-3.12.tar.gz (2) 补丁-3.12.5.gz (3) 补丁-3.12.gz 因此,第一个问题是:“linux-3.12.5”=(1)linux-3.12”+“(2)patch-3.12.5 如果是,

我想更好地了解linux内核/补丁版本是如何工作的

例如,如果我今天(2013年12月12日)打开www.kernel.org,主下载(黄色按钮)会将我带到最新版本的“linux-3.12.5.tar.xx”。这是清楚的

但如果我进入“”,我可以(在许多档案中)找到:

(1) linux-3.12.tar.gz

(2) 补丁-3.12.5.gz

(3) 补丁-3.12.gz

因此,第一个问题是:“linux-3.12.5”=(1)linux-3.12”+“(2)patch-3.12.5

如果是,那么“补丁-3.12”(3)的用途是什么?“linux-3.12”=linux-3.11“+”(3)修补程序-3.12是否与上述类似

谢谢

根据(第95行之后):

与3.x内核的补丁不同,3.x.y内核的补丁 (也称为-稳定内核)不是增量的,而是 直接应用于基本3.x内核。例如,如果你的基地 内核是3.0,如果要应用3.0.3补丁,则不能 首先应用3.0.1和3.0.2补丁。同样,如果您正在运行 内核版本3.0.2,若要跳到3.0.3,必须先反转 在应用3.0.3修补程序之前,请先使用3.0.2修补程序(即修补程序-R)。 您可以在Documentation/application-patches.txt中阅读更多关于此的信息


感谢n.m.链接源代码

您将应用修补程序从以前的版本获取此版本。所以linux-3.12.4+patch-3.12.5=linux-3.12.5。对于3.12,previous是3.11,而不是3.11.999或其他。对于3.11.1,之前的版本也是3.11。@n.m.所以假设我有linux-3.12存档,如果我想获得linux-3.12.5,我必须应用所有这些补丁:补丁-3.12.1,补丁-3.12.2,补丁-3.12.3,补丁-3.12.4,补丁-3.12.5?(当然,除非我直接下载linux-3.12.5存档:))。所以,如果我只将补丁-3.12.5应用到linux-3.12,我就不会得到linux-3.12.5,对吗?是的,你必须应用几个补丁。如果您尝试应用3.12.5到3.12,则可能会失败。看看补丁的大小,它们是另一个例子……嗯,其他一些人告诉我这个机会:所有的补丁都在同一个级别上应用,所以linux-3.12.5=linux-3.12+patch-3.12.5。。。我刚才查看了一下,发现patch-3.12.5>(大于)patch-3.12.4>patch-3.12.3>patch-3.12.2>patch-3.12.1。我还尝试将补丁-3.12.5应用到linux-3.12,我成功了。。。那么,谁是对的呢?啊,是的,看起来3系列中的情况确实发生了很大的变化(或者可能是随着迁移到git)。3系列的补丁确实不是增量的!很抱歉搞混了。