今回はLPIC2 201の出題範囲である、Linuxカーネルの構成要素についての覚えておきたいポイントをまとめました。
Linuxカーネルとは
まず、LinuxカーネルとはLinuxと呼ばれているOSの中にあるLinuxという名前のカーネルのことです。
カーネルとはOSの中核部分を担っているソフトウェアのことで、動作中のプログラムの実行状態を管理したり、ハードウェア資源を管理してプログラムがハードウェアの機能を利用する手段を提供したりしています。
本来Linuxはカーネルのことですが、カーネルだけではOSは動かないため、OSとして成り立たせるソフトウェア群とLinuxカーネルを合わせてLinuxと呼ばれています。
カーネルのバージョン確認方法
unameコマンド
稼働中のカーネルバージョンを確認することが可能です。
uname [オプション]
<主なオプション>
オプション | 内容 |
-a | すべての情報を表示 |
-r | カーネルバージョンを表示 |
-m | ハードウェアアーキテクチャを表示 |
<実行例>
# uname -r
3.10.0-1127.el7.x86_64
#
# uname -a
Linux localhost.localdomain 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
#
/proc/versionファイル
[/proc/version]ファイルでもカーネルのバージョン確認が可能です。
<実行例>
# cat /proc/version
Linux version 3.10.0-1127.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Mar 31 23:36:51 UTC 2020
#
/usr/src/linux/Makefileファイル
カーネルソースをビルドしてカーネルを作った場合には、[/usr/src/linux/Makefile]にもカーネルバージョンの記載があります。
カーネルイメージファイルの形式
カーネルイメージファイルとは、カーネル本体のデータが保存されたファイルのことです。このカーネル本体のデータはgzipで圧縮され、通常は/bootディレクトリ内に[vmlinuz-カーネルバージョン]というファイル名で配置されています。
カーネルイメージファイルには「zImage」と「bzImage」といった形式があり、それぞれ以下のような違いがあります。
zImage
サイズが512KB以下という制限がある。
bzImage
1MBを超えるサイズでも扱える。現在主流の2.6 系や 3.x 系ではbzImage形式が使用されている。
リリースされるLinuxカーネルのカテゴリ
Linuxカーネルのリリースには、以下のカテゴリがあります。
prepatch
リリース候補で、テストが必要な新機能が含まれており、カーネルの開発者や最新機能を試したユーザ向けの開発版リリースです。
mainline
prepatchの後にリリースされる正式版です。prepatchで導入された新機能が含まれており、Linus Torvalds氏が数ヶ月ごとにリリースします。mainlineは、リリースされた時点で安定板の第0版とみなされます。
stable
mainlineの後にリリースされる安定板です。mainlineに対して発見された不具合の修正が行われ、安定したカーネルとしてリリースされます。stable版のリリースは指定されたカーネルメンテナが行います。
longterm
stableの中から選ばれ、新しいカーネルに行われたものと同様のバグフィックスが行われるリリースです。
さいごに
次回はLinuxカーネルのコンパイルについてまとめていきます。
コメント