В чем разница между "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 он работает.


Вы можете найти обширный список примеров в Википедии. Например, в 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

Не думайте слишком строго о "версии", как о номере версии.

Другие вопросы по тегам