发布版本中的第四个数字是什么意思?

Mel*_*lab 8 kernel

在 Ubuntu 上,由 返回的字符串uname -r始终采用以下形式x.y.0-z-generic(即,3.19.0-21-generic)。编译 Ubuntu 的内核最终会得到一个字符串,其形式为x.y.z(即3.19.8),即所用内核的实际版本。z在第一种情况下代表什么?那是 EXTRAVERSION 参数还是别的什么?如何获取我的 Ubuntu 版本的版本字符串以匹配官方版本?

Ter*_*nce 10

它是 ABI 编号。以下链接应该有助于回答您的问题:

https://wiki.ubuntu.com/KernelTeam/KernelMaintenance

内核/常见问题解答

Ubuntu 内核与上游 Linux 内核的区别是什么?

Ubuntu 内核仅在开发周期中针对稳定版本进行重新定位,在稳定标签之上有许多补丁。一旦发布了最终版本,master 分支就不会再重新建立基础。虽然通常应用稳定更新(发布后),但我们有时会做出与稳定版本相反的补丁决定。

因此,最好的说法是 Ubuntu 内核只是松散地基于上游稳定。您必须检查更改日志才能准确了解特定内核中的内容。

对于每个 Ubuntu 内核版本,我们都试图尽可能地忠于上游 Linux 内核。但是,我们在上游 Linux 内核之上进行了不可避免的补丁,这将 Ubuntu 内核与上游 Linux 内核区分开来。本文档试图描述所携带的通用补丁集及其原因:Kernel/FAQ/UbuntuDelta

特定的 Ubuntu 内核版本号是什么意思?

Ubuntu 内核的官方版本会告诉您许多信息,包括基本上游版本、当前的 Ubuntu ABI 标识符和内核风格。(请参阅我们如何确定正在运行的内核的版本?以查找您当前的版本号。)

给定一个像 2.6.35-6.9-generic 这样的版本,它可以分为四个部分,如下所示:

<base kernel version>-<ABI number>.<upload number>-<flavour>
Run Code Online (Sandbox Code Playgroud)

基本内核版本代表 Ubuntu 内核所基于的主线版本。ABI 编号代表内核应用程序二进制接口的重大变化。对于此基本版本的每次上传,上传数量是一个单调递增的计数器。该风味指示这是哪个内核配置变体(请参阅什么是内核风味?)。

我们如何确定正在运行的内核的版本?

Ubuntu 内核的正式版本可以在 /proc/version_signature 文件中找到。该文件包含内核的完整 Ubuntu 版本和它所基于的主线版本。第一个字段始终是 Ubuntu,第二个字段是 Ubuntu 内核版本,最后一个字段是上游版本:

$ cat /proc/version_signature
Ubuntu 2.6.35-6.9-generic 2.6.35-rc3
$
Run Code Online (Sandbox Code Playgroud)