内核/发行版的发行版和版本有什么区别?

内核/发行版的发行版和版本有什么区别?

我使用以下命令查看内核的名称、发行版和版本。

-bash-4.1$ uname -s 
Linux
-bash-4.1$ uname -r
2.6.32-279.el6.x86_64
-bash-4.1$ uname -v
#1 SMP Wed Jun 13 18:24:36 EDT 2012

内核的release和版本之间有什么区别和关系?谢谢!

Linux 发行版(例如 Ubuntu、Mint,...)有类似的问题吗?即 Linux 发行版的发行版和版本之间有什么区别和关系?

答案1

uname -r

第一个是编译内核时使用的版本字符串。这就是 的作用-r

$ uname -r
3.13.7-100.fc19.x86_64

该字符串可能会有点令人困惑,但基本部分(第一个破折号之前的所有内容)是您正在使用的实际 Linux 内核版本的一部分。其余的与选择的包装选项有关。

我这是什么意思?

  1. 那么在上面的场景中,3.13.7将是内核的实际版本。
  2. -100告诉您 Fedora 打包程序对其应用了各种补丁集,并且他们通过附加数字来跟踪这些附加补丁集以跟踪它们,并且还表示该内核是以下内核的基础内核3.13.7+ 这一切的一部分-100
  3. 内核已打包为版本19费多拉 (FC19)。
  4. 它被包装为*x86_64*(64 位)架构。

uname -v

因为-v它向您显示内核何时编译/构建。

$ uname -v
#1 SMP Mon Mar 24 21:53:16 UTC 2014

在我的 Fedora 19 系统上,您可以通过查看内核包实际上是通过 RPM 构建的时间来说服自己这实际上是正确的。

$ rpm -qi kernel-$(uname -r) | grep -E "Build Date"
Build Date  : Mon 24 Mar 2014 06:31:17 PM EDT

构建日期略有不同,因为这uname -v是编译时“烧录”到内核中的内容。 RPM 中的构建日期是从 RPM 在包构建期间将内核编译时间刻录到其中的时间开始的。

答案2

发布遵循内核版本,并添加了包/版本特定信息。如果我们按照你的例子2.6.32-279.el6.x86_64,这意味着:

  • 2.6.32 Linux 内核,这是基础版本,告诉您大多数发行版和软件包中 Linux 内核的版本。
  • 279 是该软件包的特定发行版本。el6建议使用 Enterprise Linux (RHEL/CentOS)。这些发行版中发生的情况是,它们使用相同的内核版本,只是向后移植重要的补丁,并且每次都会增加软件包编号,以便您的软件包管理器可以更新它。此版本标记是特定于发行版的,并且可能因不同的发行版和包管理器而异。它是在编译时选择的。

版本显示内核已编译。

相关内容