web-dev-qa-db-ja.com

「uname-r」と「uname-v」の違いは何ですか?

CentOS6.2を使用しています。 unameのmanページ(つまり、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はバージョンの詳細を表示しています。

なぜそうなのですか?

4
max

これは絶対に正常であり、予想されます。 _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
_

uname(2)によって呼び出されたときにuname(1)が検索するものについて_/proc/sys/kernel/_をチェックすることもできます。これは:

  • _/proc/sys/kernel/version_
  • _/proc/sys/kernel/osrelease_

「バージョン」を単なるバージョンnumberと厳密に考えないでください。

7
slhck