Linux内核版本控制:Debian Sid vs Ubuntu Precise


9

我安装了两台机器:

我在一台计算机上已经安装了Ubuntu Precise 12.04 beta,并将dist升级到最新软件包。

在另一台机器上,我已经安装了Debian Sid Unstable,并已dist升级到最新的软件包。

在Ubuntu计算机上,uname -a读取:

Linux 3.2.0-20-通用#32-Ubuntu SMP 3月22日星期四02:22:46 UTC 2012 x86_64 x86_64 x86_64 GNU / Linux

在Debian机器上,uname -a读取:

Linux 3.2.0-2-amd64#1 SMP 3月28日星期三13:28:04 UTC 2012 x86_64 GNU / Linux

我的问题是关于内核版本的:

Ubuntu: 3.2.0-20-generic
Debian: 3.2.0-2-amd64

Linux的3.2版发布于:

linux-3.2.tar.gz         05-Jan-2012 00:40   94M

从那时起,已经发布了13个发行点,来自kernel.org的3.2.1 .. 3.2.13和3.3版本。

我的问题是关于两台机器上两个内核的源树的历史:

那两个版本的内核从哪个正式的kernel.org内核发行?

Debian Sid内核的源代码与Ubuntu Precise内核的源代码有什么关系?

在Ubuntu上的3.2.0-20-generic中是否也存在从kernel.org源进行的更改以生成3.2.0-2-amd64?

Debian Sid内核是Ubuntu的“上游”内核吗?

在Debian中,第四个版本号是什么意思(在第一个破折号之后)是“ 2”,在Ubuntu中是第四个版本号是“ 20”-以及与上面的内容有什么关系?

Answers:


5

Ubuntu内核与上游内核不同,尽管版本号可能相似。您可以在Ubuntu Wiki中阅读有关Ubuntu内核的信息,它回答了您的第一个和第四个问题:

Beta-2包含3.2.0-20.33 Ubuntu内核,该内核基于v3.2.12上游稳定Linux内核。

Ubuntu内核常见问题解答说明了版本编号,如下所示:

给定这样的版本,2.6.35-6.9-generic可以分为以下四个部分:

<base kernel version>-<ABI number>.<upload number>-<flavour> 基本内核版本表示Ubuntu内核所基于的主线版本。ABI编号表示内核应用程序二进制接口中的重大更改。对于此基本版本的每次上传,上传编号都是单调递增的计数器。风味指示这是哪个内核配置变量

您还可以检查Ubuntu到Mainline内核版本映射,以获取有关ubuntu内核版本与上游内核版本的更多信息。


除非我误解了,否则问题是Is the Debian Sid kernel "upstream" of the Ubuntu one?)和From which release of official kernel.org kernel are those two versions of the kernel derived?3.2.0)-不是哪个kernel.org版本与ubuntu版本最相似,或者并入了kernel.org版本中的哪些补丁,我相信这些补丁只会使问题复杂化问题。
syserr0r 2012年

2

你的问题

From which release of official kernel.org kernel are those two versions of the kernel derived?
内核版本3.2.0

What is the relationship of the sources of the Debian Sid kernel to the Ubuntu Precise one?
它们都是Debian版本(没有Ubuntu更改),Debian软件包(3.2.0-2)是修订版2,Ubuntu软件包(3.2.0-20)是修订版20

Are the changes made from the kernel.org sources to produce 3.2.0-2-amd64 also present in 3.2.0-20-generic on Ubuntu?
我不确定,因为它们是(afaik)不同的软件包(通用vs amd64特定)。

Is the Debian Sid kernel "upstream" of the Ubuntu one?
是的。Debian在Ubuntu的上游。被Ubuntu所做的更改(通过结束修订,标志着-ubuntuX在那里X通常合并到Debian是一个修订版)

修订编号

tl; dr version:hypen后面的数字是软件包维护者在新的构建/补丁之后给出的修订版本号。

-

对于Debian,连字符后的数字为Debian Revision Number[ source ];
对于Ubuntu,连字符后的数字为[ source ] ,(如果存在)Debian Revision Number后的数字-ubuntuUbuntu Revision Number[ source-2 ]。

通常,连字符后的数字是软件包维护者给出的修订版本。

来自软件包维护者的软件包通常会应用各种补丁(例如,修复不兼容问题;修复安全性;进行较小的改进;使用不同的构建标志等);这就是在示例中内核版本3.2.0具有多个修订版本的原因。

仅仅因为一个比另一个高就不一定意味着它是新的,更好的或应用了所有相同的补丁。这是因为他们可能是不同的软件包维护者,他们在每个发行版上负责软件包的维护,并且他们(例如)可能不那么频繁地打补丁(这意味着较低的修订版号),但仍然包含(部分或全部)相同的补丁。

注意Ubuntu是基于Debian的,因此Ubuntu往往拥有Debian的所有补丁(并且通常来自较新的debian版本,如测试)。

包装关系

制作了一个软件(例如内核)。它具有一个版本(3.2.0)。发行版(Debian)的软件包维护者(Dave)。他按照发行版的指南获取软件并将其打包为(.deb)格式。这是版本3.2.0-1内核,又名内核3.2.0-1

Dave并未完全遵循他要打包的发行版(Debian)的指南,因此必须对打包进行一些更改。他这样做并提交他的更新版本。这是版本3.2.0-2内核,又名内核3.2.0-2

与此同时内核3.2.13.2.2所有的方式3.2.25已经发布。Dave正在使用的软件包仍基于3.2.0。他将很快发布3.2.25,但尚未发布。

同时,另一个软件包维护者(Harry)的发行版(Ubuntu)需要相同的软件包。由于DebianUbuntu相似;他只需要复制Dave的内核3.2.0-2并提交,而不是从头开始。Harry将其作为3.2.0-2发行到Ubuntu

哈利然后想对戴夫的作品做些改变。他进行了更改并发布了他的更新包。这是版本3.2.0-2-ubuntu1

在这个例子中:
最新版本kernel3.2.25
最新版本的kernel软件包Debian是3.2.0-2
最新版本的kernel软件包Ubuntu是3.2.0-2,ubuntu1


您的信息有误。ubuntu内核版本不必与kernel.org的上游内核相同。ubuntu 3.2.0-20.33内核基于上游3.2.12 linux内核。
pkhamre 2012年

它是软件包所基于的内核版本。来自Ubuntu Wiki本身。软件包维护者通常会将主线linux内核中的更改作为补丁进行整理,但这不是问题。
syserr0r 2012年

情况有点混乱。根据Ubuntu内核常见问题解答(wiki.ubuntu.com/Kernel/…),可以从Ubuntu版本推断基本内核版本。但是,实际上,必须检查/ proc / version_signature或在kernel.ubuntu.com/~kernel-ppa/info/kernel-version-map.html上查阅列表。有关特定更改,请参见文件/usr/share/doc/linux-image-*/changelog.Debian.gz并将其与wiki.ubuntu.com/Kernel/FAQ/UbuntuDelta进行比较,或获取Ubuntu git树。
Mikko Rantalainen 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.