Debian Stretchディストリビューションで実行すると、uname -a
次のようになります。
Linux index 4.9.0-8-amd64 #1 SMP Debian 4.9.144-3.1 (2019-02-19) x86_64 GNU/Linux
を実行すると、dpkg -s linux-image-amd64 | grep Version
次のようになります。
Version: 4.9+80+deb9u6
上記のコマンドは3つの異なるカーネルバージョンを出力します。
- 4.9.0-8
- 4.9.144-3.1
- 4.9+80+deb9u6
私の質問は:この他のバージョンは何ですか?どういう意味ですか?
答え1
「80+deb9u6」バージョンですソースコードlinux-latest
パッケージ;これはメタパッケージを構築し、各プラットフォーム(たとえば、linux-image-amd64
使用しているプラットフォーム)の現在のカーネルパッケージをインポートし、バージョン管理のためにデフォルトのカーネルバージョンを使用して4.9 + 80 + deb9u6になります。
「4.9.0-8」はカーネルのABIバージョンです。特定のカーネルのパッケージ名に表示されます。例えば linux-image-4.9.0-8-amd64
。このバージョンはカーネルシリーズの基本を表し、カーネルABIが互換性のない方法で変更されるたびに変更される番号です。これは、ツリーの外部モジュールを再コンパイルする必要があるたびにユーザーにとって重要です。
「4.9.144-3.1」はカーネルのパッケージバージョンです。これは標準のDebianバージョン管理スキームに従います。 4.9.144は、一致させることができるアップストリームカーネルバージョンです。アップストリームカーネルバージョン、3.1はパッケージバージョンです。特定のアップストリームバージョンの最初のパッケージには通常、パッケージバージョン1が割り当てられ、新しいパッケージがアップロードされるたびに(そのアップストリームを変更せずに)パッケージバージョンが増加します。各バージョンの変更の詳細については、以下で確認できます。Debian 関連の変更ログ。
これらすべての機能が組み合わされ、エンドユーザーに役立ついくつかの機能を提供します。
- たとえば、ユーザーはアーキテクチャ固有のメタパッケージをインストールし、
linux-image-amd64
常に最新のカーネルパッケージが利用可能であることを確認できます。現在のメタパッケージはバージョン4.9 + 80 + deb9u6で、linux-image-4.9.0-8-...
カーネルバージョンまたはABIが変更されたときにインポートされます。新しいメタパッケージは次のとおりです。アップロード済み - 新しいアップストリームカーネル(またはDebianパッチ)は、以前のバージョンと互換性のない方法でカーネルABIを変更しないため、不要なパッケージの変更やローカルの再構築(ツリー外部モジュールの場合)が発生します。
- これを必要とするカーネルABIの変更〜するインストールされているモジュールを常に使用可能で実行中のカーネルにインストールできるようにモジュールを再構築します(エラーが発生しない限り)。