(8)modutilsのコンパイルと導入
modutilsは,insmodやdepmodなど,カーネルのローダブル・モジュールに関連するコマンド群である。カーネルにドライバなどを直接組み込まずに必要な場合に読み込むというローダブル・モジュールの仕組みはカーネル1.3の時に組み込まれた。ただし,カーネル2.6以降ではその仕組みが変更され,modutilsに変わるモジュールとして「module-init-tools」が提供されている。modutilsとmodule-init-toolsとの間には互換性がないので注意が必要だ。今回使用するカーネルはバージョン2.4.29であり,最新のmodutilsを利用できる。
なお,modutilsをコンパイルするためには,構文解析用の「bison」と「flex」が必要であるが,自分Linux開発マシンに導入したVine Linuxには含まれていない。そこで,Vine Linuxの追加パッケージ集「VinePlus」から入手してインストールしよう(本誌付録CD-ROMに収録)。筆者は「ftp://ring.asahi-net.or.jp/pub/linux/Vine/VinePlus/3.1/i386/RPMS.plus/」よりダウンロードし,
のようにして導入した。
導入したら,以下の手順に従って,modutilsのソース・アーカイブを展開し,コンパイルしてインストールする。--prefixオプションでは,インストール先を指定している。
(9)procpsのコンパイルと導入
procpsは,mstatやpsなど,プロセスに関連するコマンド群である。/procファイル・システムからプロセッサの情報を読み取り,表示するコマンドなどを備える。procpsのソース・アーカイブからインストールする手順は図11の通りである。
(10)fileutilsのコンパイルと導入
fileutilsには,ファイル操作に関連するコマンドが多数含まれている。皆さんが良くご存知のlsコマンドもfileutilsに含まれるものだ。fileutilsのソース・アーカイブを用いて,図12のようにインストールしよう。
(11)sysklogdのコンパイルと導入
sysklogdは,システム・ログやカーネル・ログを取得するためのデーモンである。自分Linuxでサーバー運用するために重要なソフトであり,システムの状況をモニターするために今回導入する。まずは,sysklogdのソース・アーカイブを展開する。
次に,自分Linuxの環境に合わせてMakefileを修正する。viなどでMakefileを開き,11行目の「BINDIR=/usr/sbin」を「BINDIR=/usr/local/src/origdev/usr/sbin」に,12行目の「MANDIR=/usr/man」を「MANDIR=/usr/local/src/origdev/usr/man」に書き換える。ここまで整ったら,sysklogdをコンパイルして導入する。
make installコマンドを実行すると,Makefileで「BINDIR」に指定したディレクトリに実行ファイルが,「MANDIR」に指定したディレクトリにマニュアルがインストールされる。
* * *
11個のソフトウエアをコンパイルし,自分Linuxの開発環境に導入した。オプションの指定などを間違えると,違う場所にインストールされたり,エラーが発生することになる。今回コンパイルして導入した主なファイルを表3にまとめたので,間違いがないかをぜひ確認してほしい。できれば各ソフトウエアを導入するたびに確認してみた方が良いだろう。
これで自分Linuxの心臓部(glibc)と自分Linuxに不可欠なコマンド群がそろったことになる(図13)。次回は,自分Linuxの頭脳であるカーネルの作成方法について詳しく解説しよう。