パッケージのビルド時に使用されたカーネルのバージョンを確認する方法

パッケージのビルド時に使用されたカーネルのバージョンを確認する方法

aptUbuntuリポジトリからパッケージをダウンロードするときに使用します。パッケージのビルド時に使用されたカーネルのバージョンをどのように確認できますか?
いつ重要ですか(ビルドサーバーのカーネルバージョンとパッケージがインストールされているマシンのカーネルバージョン)?

答え1

ほとんど重要ではありません。ビルドシステムが本当に心配な場合は、カーネルを考慮する前に、コンパイラ、ライブラリ、ヘッダーのバージョンを考慮する必要があります。

カーネルバージョンがコード自体によって「記憶」されるかどうかは、コード自体によって異なります。一部のパッケージは、コンパイラのバージョンを表す文字列を格納します。これがより重要だからです。実際、カーネル自体がこれを行います(下記参照/proc/version)。

答え2

カーネルバージョンを知っているかわからないことの重要性については、上記のコメントと回答ですでに完全に説明されているので、追加しないでください。

ただし、上記の回答に対するご意見に対する回答から

グラフィックドライバ(カーネルビルドとランタイム環境)はどうですか?

注意すべきはgccコンパイルしたカーネルバージョンなので、グラフィックドライバ(特にNvidia)と同じバージョンを使用する必要があります。

catこのファイルが必要です/proc/version。このファイルは、現在実行中のカーネルのバージョンと、gccカーネルの構築に使用されるバージョンを識別します。

$ cat /proc/version
Linux version 3.2.0-23-generic (buildd@crested) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu4) ) #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012

たとえば、gcc-4.6 を使用して NVIDIA モジュールのビルドを開始します。

$ export CC=/usr/bin/gcc-4.6
$ bash NVIDIA-Linux-***.run

関連情報