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

Tim*_*Tim 16 kernel

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

-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
Run Code Online (Sandbox Code Playgroud)

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

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

slm*_*slm 14

用户名 -r

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

$ uname -r
3.13.7-100.fc19.x86_64
Run Code Online (Sandbox Code Playgroud)

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

我这是什么意思?

  1. 那么在上面的场景中,3.13.7将是内核的实际版本。
  2. -100告诉你,不同的补丁集是由Fedora打包应用到它,并且他们通过附加一些跟踪这些额外的补丁集,以跟踪它们也分别表示,这个内核的基本内核3.13.7 + 属于此-100 的所有内容
  3. 内核是为Fedora 19版 ( fc19 )打包的。
  4. 它是为*x86_64*(64 位)架构打包的。

用户名 -v

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

$ uname -v
#1 SMP Mon Mar 24 21:53:16 UTC 2014
Run Code Online (Sandbox Code Playgroud)

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

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

构建日期略有不同,因为uname -v它是在编译时“烧录”到内核中的。RPM 中的构建日期是从 RPM 在包构建期间将内核的编译时间烧入其中的时间算起。


pho*_*ops 2

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

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

版本显示内核已编译。