“uname -r”和“uname -v”有什么区别?

“uname -r”和“uname -v”有什么区别?

我正在使用 CentOS 6.2。在 uname 的手册页中(即man uname),它显示:

 -r, --kernel-release
              print the kernel release

 -v, --kernel-version
              print the kernel version

在尝试命令时,它显示

[max@localhost ~]$ uname -r

2.6.32-220.17.1.el6.i686

[max@localhost ~]$ uname -v

#1 SMP Tue May 15 22:09:39 BST 2012

-v应该显示版本,对吧?但是在哪里显示版本?-r正在显示版本详细信息。

为什么会这样?

答案1

这绝对是正常且符合预期的。kernel-release将始终显示所用内核的实际版本号。kernel-version但是将打印更具体的字符串,其中包含实际发布日期。其格式取决于它在哪个 Linux 或 Unix 发行版上运行。


您可以找到广泛的例子列表在 Wikipedia 上。例如,在 OS X 中,kernel-version不仅有发布编号,还有发布日期:

Darwin Kernel Version 10.8.0: Tue Jun  7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64

虽然这kernel-release只是发布编号:

10.8.0

你甚至可以检查当它被调用时会查找的/proc/sys/kernel/内容。这将是:uname(2)uname(1)

  • /proc/sys/kernel/version
  • /proc/sys/kernel/osrelease

不要过于严格地认为“版本”只是一个版本数字

相关内容