はじめに
この実験では、システムで動作している Linux カーネルのバージョンを確認する方法を学びます。カーネルはオペレーティングシステムの基本的な部分であり、そのバージョンを知ることは、トラブルシューティング、ソフトウェアの互換性、セキュリティなど、様々なタスクに不可欠です。
まず、カーネルのリリースを迅速に表示する最も一般的な方法である uname -r コマンドを使用します。次に、仮想の /proc ファイルシステム内の /proc/version ファイルを調べて、カーネルに関するより詳細な情報を見つけます。最後に、dmesg コマンドを使用してブートログを調べ、システム起動時に生成されたカーネル関連のメッセージを確認します。これらの手順を完了することで、Linux カーネルのバージョンを特定し理解する実践的なスキルを身につけることができます。
uname -r でカーネルバージョンを確認する
このステップでは、uname コマンドを使用して Linux カーネルのバージョンを確認する方法を学びます。カーネルはオペレーティングシステムの核心部分で、システムのリソースを管理し、ハードウェアとソフトウェアの間の橋渡しを行います。カーネルのバージョンを知ることは、トラブルシューティングや特定のソフトウェアのインストールにおいて重要です。
uname コマンドはシステム情報を表示するために使用されます。デフォルトでは、カーネル名を表示します。より詳細な情報を取得するには、オプションを使用できます。
-r オプションは、uname にカーネルのリリース情報を表示するよう指示します。これがカーネルバージョンを確認する最も一般的な方法です。
ターミナルが開いていない場合は、開きましょう。デスクトップの左側にある Xfce Terminal アイコンをクリックすることで開くことができます。
次に、以下のコマンドをターミナルに入力し、Enter キーを押します。
uname -r
正確なバージョン番号は異なる場合がありますが、以下のような出力が表示されるはずです。
5.15.0-XX-generic
この出力は、システムで動作している Linux カーネルの特定のリリース番号を示しています。数字と文字は、カーネルバージョンの様々な側面を表しており、メジャーバージョン、マイナーバージョン、パッチレベル、およびビルドやディストリビューションに関する情報を含むことがあります。
カーネルバージョンを理解することは、Linux システムの管理と開発における基本的なスキルです。これにより、ハードウェアやソフトウェアとの互換性を判断することができ、セキュリティアップデートにも重要です。
カーネルバージョンを正常に確認したら、Continue をクリックして次のステップに進みましょう。
/proc/version でカーネルの詳細を確認する
このステップでは、Linux の仮想ファイルシステムである /proc ファイルシステムを探索します。このファイルシステムは、プロセスやその他のシステム情報を提供します。具体的には、実行中のカーネルに関する詳細情報を含む /proc/version ファイルを見ていきます。
/proc ファイルシステムは、Linux システム内部で何が起こっているかを理解するための強力なツールです。/proc 内のファイルは、通常のファイルのようにディスクに保存されているのではなく、アクセスするときにカーネルによって動的に生成されます。
/proc/version ファイルには、カーネルバージョン、カーネルをコンパイルするために使用された GCC バージョン、その他のビルド情報を含む文字列が格納されています。
このファイルの内容を表示するには、ファイルの内容を表示するために一般的に使用される cat コマンドを使用できます。
以下のコマンドをターミナルに入力し、Enter キーを押します。
cat /proc/version
以下のような出力が表示されるはずです。
Linux version 5.15.0-XX-generic (...) (gcc (Ubuntu XX.X.X-XubuntuX) X.X.X) #XX-Ubuntu SMP ...
出力を分解してみましょう。
Linux version 5.15.0-XX-generic:これは、uname -rで見たのと同様に、カーネルバージョンを確認するものです。(gcc (Ubuntu XX.X.X-XubuntuX) X.X.X):これは、カーネルをビルドするために使用された GCC コンパイラのバージョンを示しています。#XX-Ubuntu SMP ...:この部分は、ビルド番号や、現代のマルチコアプロセッサで一般的な対称マルチプロセッシング (Symmetric Multiprocessing, SMP) カーネルであるかどうかなど、特定のビルドに関する情報を提供します。
/proc/version を調べることで、uname -r で得られるリリース番号だけでなく、カーネルの起源とビルド環境についてより包括的な情報を得ることができます。
Continue をクリックして次のステップに進みましょう。
dmesg でブートログを調査する
このステップでは、dmesg コマンドを使ってカーネルリングバッファを表示する方法を学びます。カーネルリングバッファは、ハードウェア検出、デバイスドライバ、およびブートプロセス中に発生するシステムイベントに関する情報を含む、カーネルからのメッセージを格納します。
dmesg コマンドは、ハードウェアの問題を診断したり、カーネルがシステムのコンポーネントとどのように相互作用するかを理解するのに非常に役立ちます。システムが起動すると、カーネルはハードウェアを初期化し、ドライバをロードし、これらのアクションをリングバッファに記録します。
カーネルリングバッファの全内容を表示するには、ターミナルに dmesg と入力して Enter キーを押します。
dmesg
大量の出力がスクロールして表示されるでしょう。この出力には、システム起動以来のカーネルからのメッセージが含まれています。
出力が非常に長いことがあるため、dmesg の出力を less や more などのページャにパイプすると、画面ごとに表示できて便利です。これにより、メッセージを上下にスクロールできます。
出力を less にパイプしてみましょう。
dmesg | less
これで矢印キーを使って出力をスクロールできます。スペースバーを押すと次のページに進み、q を押すと less を終了します。
また、grep などのツールを使って dmesg の出力をフィルタリングし、特定のキーワードを検索することもできます。たとえば、USB デバイスに関連するメッセージを表示するには、次のようにできます。
dmesg | grep -i usb
-i オプションは、検索を大文字小文字を区別しないようにします。
dmesg の出力を調べることで、システムのブートプロセスとハードウェアについて深い洞察を得ることができます。
Continue をクリックしてこの実験を完了しましょう。
まとめ
この実験では、カーネルのリリース番号を提供する uname -r コマンドを使用して Linux カーネルのバージョンを確認する方法を学びました。また、/proc ファイルシステムを探索し、特に /proc/version ファイルを調べて、実行中のカーネルに関する詳細情報を確認しました。最後に、dmesg コマンドを使用してブートログを調査し、カーネルの初期化プロセスについてさらに深い理解を得ました。



