回答:
もちろん、dpkg
それについて知っているかどうかを確認してください。
まず、実行しているカーネルのバージョンを確認します。
uname -a
Linux orwell 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u2 x86_64 GNU/Linux
次にdpkg
、dpkg
データベースでカーネルイメージファイルを検索するように指示します。
dpkg -S /boot/vmlinuz-3.2.0-4-amd64
linux-image-3.2.0-4-amd64: /boot/vmlinuz-3.2.0-4-amd64
または、パッケージdlocate
から使用することをおdlocate
勧めします。dlocate
最初にdpkg
データベースからキャッシュを構築し、それを使用します。だから高速です。
dlocate /boot/vmlinuz-3.2.0-4-amd64
linux-image-3.2.0-4-amd64: /boot/vmlinuz-3.2.0-4-amd64
最後に、Debianアーカイブにこのパッケージが含まれていることを確認します。
apt-cache policy linux-image-3.2.0-4-amd64
linux-image-3.2.0-4-amd64:
Installed: 3.2.68-1+deb7u1
Candidate: 3.2.68-1+deb7u1
Version table:
*** 3.2.68-1+deb7u1 0
500 http://security.debian.org/ wheezy/updates/main amd64 Packages
100 /var/lib/dpkg/status
3.2.65-1 0
500 http://httpredir.debian.org/debian/ wheezy/main amd64 Packages
そうでない場合は、カスタムパッケージです。もちろん、dpkgがイメージファイルを認識していない場合、カーネルはパッケージの一部ではなく、ローカルでコンパイルされています。
Debianアーカイブ内のパッケージとローカルでコンパイルされた同じ名前のパッケージとの違いapt
がわかることに注意してください。パッケージのmd5sumをチェックすると思いますが、その方法の詳細を忘れています。バイナリパッケージには、ハッシュに関する情報が含まれていますapt-cache show linux-image-3.2.0-4-amd64
。たとえば、の下部を参照してください。例えば
Package: linux-image-3.2.0-4-amd64
Source: linux
Version: 3.2.68-1+deb7u1
Installed-Size: 105729
[...]
Size: 23483788
MD5sum: f9736f30f8b68ae79b2747d8a710ce28
SHA1: 64bfde903892801dccd04b52b12316901a02cd96
SHA256: 775814b3eff4a964b593c0bdeaac20587a4e3ddb1257a9d2bfcf1e9d3b9bfd15
apt-cache show ...
機能します。入力ミスをしたようです。今修正中です。
最低限、uname -r
など、カーネルのバージョンを提供します3.18.6
。ただし、カーネルがコンパイルされると、追加の文字列を構成してそれに接続することができ、通常、ディストリビューションはこれを実行して、ダッシュなどの独自のパッチレベルとフレーバーを示します3.18.6-32-generic
。それは一つの手がかりです。もちろん、カスタムカーネルを作成するときに独自の文字列を使用することもできます。
uname -v
デフォルトでは次のような文字列を提供します
#4 SMP PREEMPT Mon Mar 9 13:55:25 EDT 2015
この数は、ツリーがリセットされずに特定のソースツリーを使用してこのカーネルが構築された回数であるという意味で任意です。これは、独自のツリーを構築するときに役立つ場合があります。 SMP
マルチタスク(つまり、リアルタイムではない)カーネルを示し、PREEMPTはスケジューラの「プリエンプションモデル」に関連する別の構成オプションです。しかし、ここでの大きな手がかりは、おそらくそれが構築された時間です。これは、たとえばで変更できることを念頭に置いて、カーネル自体の変更/変更タイムスタンプと照合するために使用できますtouch
。たとえば、stat
そのカーネルでは次のようになります。
File: ‘3.19-goldilocksSpecial’
Size: 6858880 Blocks: 13400 IO Block: 4096 regular file
Device: 801h/2049d Inode: 3156605 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2015-02-15 15:32:29.000000000 -0500
Modify: 2015-03-03 13:55:21.000000000 -0500
Change: 2015-03-03 14:02:26.767045553 -0500
Birth: -
これは、とほぼ一致していMon Mar 9 13:55:25 EDT 2015
ます。
他と同じ
sudo apt-cache policy linux-generic
パッケージマネージャーを介してインストールされたバージョンであり、
uname -r
バージョンを比較する
私にとっては
linux-generic:
Installed: 3.19.0.15.14
Candidate: 3.19.0.15.14
そして
3.19.0-15-generic
同じバージョンを示す
/boot
。私のポイントは、uname
いくつかのオプションを変更しながら再コンパイルしただけでは、なぜ出力が変更されると期待するのか分からないということです。その場合、ローカルで再コンパイルしたにもかかわらず、同じ情報が返されることapt-cache
を期待してuname -r
います。
最も一般的な真の答えは「いいえ、できません」です。特定の場合に役立つ可能性のあるさまざまな方法があり、これらはすでに提案されていますが、これらはすべて、この状況が実際にどのようになったかを見逃しているようです。実際、カスタムカーネルを使用している場合、そのカーネルは、その存在を非表示にしたり、別のカーネルのように見えたりするなど、何でも実行できます。
あなたが本当にカスタムカーネルを実行していて、これを知らなかったら私は心配になるでしょう。どのカーネルが使用されているかを知る唯一の信頼できる方法は、コンパイルおよびインストールしたカーネルを注意深く追跡することです。
システムが実行しているカーネル、このカーネルのビルド元、またはソースがどこであるかが本当にわからない場合は、既知の良好なイメージからOSを再インストールすることを真剣に検討し、どのカーネルを試して起動するかについて今後さらに注意することを検討しますからまたは使用。