web-dev-qa-db-ja.com

カーネル/ディストリビューションのリリースとバージョンの違いは何ですか?

次のコマンドを使用して、カーネルの名前、リリース、バージョンを確認します。

-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

カーネルのリリースとバージョンの違いと関係は何ですか?ありがとう!

Linuxディストリビューション(Ubuntu、Mintなど)でも同様の質問ですか?つまりLinuxディストリビューションのリリースとバージョンの違いと関係は何ですか?

14
Tim

ウナメ-r

1つ目は、カーネルのコンパイル時に使用されたバージョン文字列です。それが-rの役割です。

$ uname -r
3.13.7-100.fc19.x86_64

この文字列は少し混乱する可能性がありますが、ベース部分(最初のダッシュの前のすべて)は、使用している実際のLinuxカーネルバージョンの一部です。残りは、選択されたパッケージオプションに関連しています。

これはどういう意味ですか?

  1. 上記のシナリオでは、3.13.7がカーネルの実際のバージョンになります。
  2. -100は、Fedoraパッケージャによってさまざまなパッチセットが適用され、番号を追加することでこれらの追加パッチセットを追跡していることを示していますそれらを追跡し、このカーネルが3.13.7 +このすべてのベースカーネルであることを示します-100
  3. カーネルは、Fedoraのバージョン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がパッケージの構築中にカーネルのコンパイル時間を焼き付けた日からのものです。

11
slm

パッケージ/リリース固有の情報が追加されたカーネルバージョンに従ってリリースします。あなたの例で言えば2.6.32-279.el6.x86_64、 これの意味は:

  • 2.6.32 Linuxカーネル。これはベースバージョンであり、ほとんどのディストリビューションおよびパッケージのLinuxカーネルのバージョンを示します。
  • 279は、このパッケージ固有のリリースバージョンです。 el6は、そのEnterprise Linux(RHEL/CentOS)を提案しています。これらのディストリビューションで何が起こるかというと、それらは同じカーネルバージョンを使用するだけで、重要なパッチをバックポートし、毎回パッケージ番号を増やすだけなので、パッケージマネージャーはそれを更新できます。このバージョンタグはディストリビューション固有であり、ディストリビューションやパッケージマネージャーによって異なる場合があります。コンパイル時に選択されます。

バージョンは、カーネルがコンパイルされたことを示します。

2
phoops