●カーネル
OSの中核プログラムのこと
操作をするユーザはシェルを通してカーネルとやり取りをする
「Linux」という言葉は厳密にはLinuxカーネルを意味する
通常は /bootディレクトリ内にvmlinuzというファイル名で、カーネルイメージとして配置されている
カーネルのバージョンは、
「2 . 4
. 18 - 3」 というように表記される
a b
c d
コマンド | 説明 | 書式 | 主なオプション 補足 |
uname | 現在システムで使用されている カーネルバージョン表示 |
uname [オプション] | -a :すべての情報を表示 -r :カーネルバージョンを表示 -s :カーネル名を表示 -o :OS名を表示 |
●カーネルモジュール
カーネルモジュール:
カーネルの機能を分割し、必要に応じて部品のように動的に組み込める
それによりカーネルの肥大化を防ぎ、システムリソースの消費を抑えることができる
カーネルモジュールはカーネルのバージョンごとに用意する必要がある
通常は、 /lib/modules/カーネルバージョン ディレクトリ以下に機能別のサブディレクトリ毎に格納され、
.o という拡張子が付けられる
カーネルモジュールの設定ファイル:/etc/modules.conf
(一部のディストリビューションでは /etc/conf.modules
)
カーネルモジュールの別名や、起動時に渡すオプション情報、モジュールを組み込む順序などが記録されている
カーネルモジュールの依存関係が記述:modules.dep
あるモジュールを利用するために必要になるモジュールがある場合、
依存関係にあるという表現を使う
このファイルの内容を更新するには depmod -a
コマンドを実行する
(システム起動時やランレベル変更時には自動的に実行される)
カーネルの機能をカスタマイズするには
2つの方法がある
●カーネルモジュールの管理
(既存のカーネルにカーネルモジュールを組み込む・削除する)
カーネルモジュールに関する情報の表示コマンド
コマンド | 説明 | 書式 | 主なオプション 補足 |
lsmod | カーネルに組み込まれている カーネルモジュールの一覧表示 (/proc/modulesファイルが参照される) |
lsmod | 表示される項目 カーネルモジュール名 など |
modinfo | 特定のカーネルモジュール情報の表示 | modinfo [オプション]
モジュール名 オプションを省略すると |
-n :モジュールのファイル名表示 -f / -d :モジュールの説明表示 -a :モジュールの作者名表示 |
カーネルモジュールの組み込みと削除コマンド
コマンド | 説明 | 書式 | 主なオプション 補足 |
insmod | カーネルモジュールをロードしてカーネルに組み込む | insmod [オプション] モジュール名 | 依存関係のあるモジュールが 先に組み込まれている必要がある -s :動作結果を標準出力ではなくsyslogへ出力する -v :詳細な情報を表示する |
modprobe | カーネルモジュールをロードしてカーネルに組み込む 依存関係のあるモジュールが組み込まれてない場合は、自動的に組み込む |
modprobe [オプション] モジュール名 | -a :すべてのモジュールを組み込む -t dir :ディレクトリ以下のモジュールを1つ組み込む -l :組み込まれているすべてのモジュールを一覧表示 -r :モジュールを削除 |
rmmod | モジュールの削除 ただし依存関係は考慮しない |
rmmod [オプション] モジュール名 | -a :使われていないモジュールをすべて削除する -s :動作結果を標準出力ではなくsyslogへ出力する |
●カーネルの再構築とインストール
(カーネル自体をソースコードからコンパイルして再構築する)