PR

 自分自身の好みに合うLinuxを作ることは,決して難しくない。フリーソフトを手順よく組み合わせていくことで,ごく普通のユーザーであっても自分だけのLinuxを作成できる。本講座を読みながら,Linuxの仕組みを理解して『自分Linux』を完成させよう。

 前回までに,自分Linuxをフラッシュ・メモリーに導入し,自分Linuxの基本部分を完成させた。今回からは,実用的なソフトウエアをいくつか導入しながら,自分LinuxをサーバーOSに仕立てていく(図1)。

図1●自分Linux作成作業の流れ
図1●自分Linux作成作業の流れ
今回から自分Linuxに実用的なアプリケーションを導入し,サーバーOSとして完成させていく。

 前回も述べたが,現状の自分Linuxは,最も基本的なコマンドだけしか備えていない。例えば,ファイルの情報を表示するlsコマンドは実行できるが,ファイルの内容を表示するcatコマンドは実行できない。ファイルを編集しようとしても,viなどのエディタ・コマンドはない。これでは,普通のLinuxシステムとしては使えない。

 そこで,catコマンドやviコマンドなどを実際に導入しながら,自分Linuxに各種コマンドを追加する手順を解説していく。さらに,主要なサーバー・サービスの一つであるDHCPサーバーも導入する。

コマンドの追加 何が必要なのかを見極める

 自分Linuxにcatコマンドを追加するためには,catコマンドが含まれたソフトウエアをインストールする必要がある。ただし「cat」というコマンド名だけで目的のソフトウエアを見つけようとしても見つからない。

 筆者は経験上,catコマンドが「textutils」(あるいは「coreutils」)というソフトウエアに含まれていることを知っている。このように,まったく名前が異なるソフトウエアに基本的なコマンドが含まれていることは多い。Linuxの使用経験がほとんどない人や初めて自分Linuxに取り組む人にとっては,どのコマンドがどのソフトウエアに含まれるかは非常に分かりにくいだろう。

 そこで,最初に,目的のコマンドやライブラリが,どのソフトウエアに含まれ るかを調べる方法を紹介しよう。

RPMパッケージから検索する

 自分Linuxでは開発マシンのOSとして,「Vine Linux3.1」を用いている。ご存知の通り,Vine Linuxでは「RPM」(RPM Package Manager)という仕組みにより,インストールされるソフトウエアを管理している。このRPMを利用すれば,目的のコマンドが含まれるソフトウエアを簡単に見つけ出せる。

 まずは,whichコマンドで,導入したいコマンドのフルパスを検索してみよう。

 検索して得られたパスを指定し,次のrpmコマンドを実行する。catコマンドなら「textutils」というファイル名が表示されたことだろう。

 このような手順で,既に導入済みのソフトウエアから目的のコマンドを含むソフトウエア名を検索できる。もし,導入したいコマンドが開発マシン内にインストールされていない場合は,インターネット上の検索エンジンなどで根気よく調べる必要がある。ただ,特別な場合を除いて,Vine LinuxなどのLinuxディストリビューションに含まれないコマンドは少なく,コマンド名とソフトウエア名が同じ名前である可能性も高いため,この方法さえ覚えておけば,ほぼ大丈夫だと言える。

 catコマンドはtextutilsに含まれることが分かった。今度は逆に,textutilsに含まれるコマンドを調べてみよう。

 textutilsには,catコマンドのほか,tailやwc,head,sortといった日常的に使いそうな便利なコマンドが数多く含まれている。

 ソフトウエア名が分かったら,そのソース・コードをコンパイルして導入すれば,自分Linuxに目的のコマンドがインストールされる。ただし,コンパイル時に必要なライブラリがなくてエラーになることもあり得る。そのため,導入したいコマンドが,どのライブラリを使用するかを確認しておこう。それには,lddコマンドを用いる。

 lddコマンドの引数に導入したいコマンド名をフルパスで指定して実行してみよう(以下,1行のコマンドについても,1段幅に合わせて改行してあるので,ご注意ください)。

 例えば,catコマンドの場合,必要なライブラリは「libc.so.6」と「/lib/ld-linux.so.2」だと分かる。ここまで分かったら,先ほどと同様にrpmコマンドを用いて,これらのライブラリが含まれるソフトウエアを検索する。

 glibcは以前に導入しているため,textutilsだけを導入すれば,catコマンドが追加できることが分かった。このような手順で必要なライブラリも用意していこう。

主要なコマンドを導入する

 今回,自分Linuxに追加する主なコマンドは表1の通りだ。これらのコマンドを用意すれば,テキスト・コンソールを利用するだけなら,とりあえずは十分だ。それでは,これらコマンドを含むソフトウエアを導入していこう。

表1●追加する主なコマンド
表1●追加する主なコマンド
[画像のクリックで拡大表示]

(1)アーカイブの入手と展開
 まずは,ソフトウエアのソース・アーカイブを入手する。筆者がソース・アーカイブをよく入手するサイトは,以前に紹介した「TuxFinder」だ(写真1)。ほとんどのソフトウエアのソース・アーカイブは,ここからダウンロードできるはずである。最新のものを使用したい場合は検索してみるとよいだろう。

写真1●「TuxFinder」
写真1●「TuxFinder
Linux関連のソフトウエアを検索して入手できるサイトである。

 入手したソース・アーカイブは,/usr/local/src/origsoftディレクトリにコピーし,図2のように展開する。

図2●ソース・アーカイブを展開する
図2●ソース・アーカイブを展開する

(3)パッケージのコンパイルと導入
 以前に紹介したように,展開したそれぞれのソース・アーカイブをコンパイルし,自分Linux構築作業用のディレクトリである/usr/local/src/origdevにいったん導入する。コンパイルと導入手順を図3に示した通りだ。

図3●コンパイルと導入
図3●コンパイルと導入
「textutils」「iputils」「gawk」「sed」「grep」「tar」「gzip」「vim」「less」の順番でコンパイルして導入する。

(4)ファイルのシュリンク
 エラーがなく導入できたら,/usr/local/src/origlinux/rootsys/ディレクトリにコンパイルしたすべてのファイルをコピーする。このディレクトリ内には,自分Linuxのファイルが既に存在しているため,cpコマンドに-uオプションを付けて,

のように実行する。新たに作成したファイルや更新されたファイルだけが導入される。

のように,ファイルなどの上書きを確認するメッセージが表示されたら「y」を入力する。なお,bootディレクトリもコピーされるが,不要なので削除しておく。

 最後に,以前に用意した自動シュリンク用スクリプト「mylinux_shrink.sh」を使用して追加したコマンドやライブラリのファイルをシュリンクしよう。念のため,

のように実行して自分Linuxのサイズを確認してから,mylinux_shrink.shスクリプトを保存したディレクトリに移動して実行する。

 Warningが出力されるが問題はない。再びプロンプトが表示されたら,

のように,自分Linuxのサイズを再度確認してみよう。5Mバイト程度小さくなっているだろう。

(5)稼働確認
 自分Linuxのファイルをフラッシュ・メモリーに再度書き込む前に,稼働確認をしておこう。まずは,自分Linux開発マシンを再起動する。

 これまでに紹介した手順と同様に,LILOの画面で「mylinux」を選択する。これで,自分Linuxが起動する。

 「mylinux login:」のプロンプトが表示されたらログインし,今回導入したコマンドが一通り使えることを確認しよう。

 確認ができたら,マシンを再度再起動して,自分Linuxの開発環境に戻る。

 開発環境に戻ったら,フラッシュ・メモリーには書き込まずに,続けてDHCPサーバーを導入しよう。