LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。【1】【2】【3】このトピックに関連した設定や試験問題を解く際には、以下の項目がポイントになります。【1】システムの起動シーケンスの概要を把握しておくシステムの起動シーケンスを把握するとLinuxの仕組みや設定方法が分かり、システムトラブルへの対処もできるようになります。以下は一般的なLinuxの起動シーケンスです。↓BIOSBIOSがディスクの先頭ブロック(MBR)に書き込まれたブートローダをメモリにロードする↓ブートローダブートローダがカーネル(vmlinuz)とイニシャルRAMディスク(initrd)をメモリにロードする。Linuxの代表的なブートローダにはLILOとGRUBがある↓カーネルカーネルは自身の初期化シーケンスを実行し、メモリにロードされている小さなファイルシステムinitrdをマウントする↓initrdカーネルはinitrdを利用してルートファイルシステムをマウントする(一般的にはinitrdを使用しますが、使用しない設定もある)↓initカーネルは自身の初期化の最終段階で1番目のユーザープロセスであるinit(プロセスIDは1)を生成する。起動時のカーネルオプションの指定により、init以外のプロセス(例えば/bin/bash)を生成することもできる。↓/etc/inittabinitは起動すると/etc/inittabを読む。Record)に書き込まれています。System)から呼び出されて実行され、カーネルをメモリにロードするプログラムです。Bootloader)があります。LILOについてLILOはGRUBが開発される前まで、Linuxの標準のブートローダとして使用されてきました。設定ファイル/etc/lilo.confにカーネルとinitrdのファイル名、カーネルオプションなどを記述し、/sbin/liloコマンドにより設定を行います。よるブート設定ファイル/etc/lilo/confで指定したカーネルとinitrdの位置情報は、/boot/mapにディスクのセクタ番号で記録されます。カーネルとinitrdを再構成した場合は、たとえファイル名に変更がなくても、/sin/liloコマンドを実行して/boot/mapファイルの情報を更新する必要があります。GRUBについてGRUBはGNUによって開発された高機能なブートローダです。現在は多くのLinuxディストリビューションでGRUBが使用されています。4.4の場合/boot/grub/menu.lstはgrub.confへのシンボリックリンク)にカーネルとinitrdのファイル名、カーネルオプションなどを記述し、/sbin/grubコマンドあるいはシェルスクリプト/sbin/grub-installにより設定を行います。GRUBによるブートブートローダによってカーネルや、カーネルを経由してinitに渡すオプションを指定できます。4.4のgrub.confでは次のオプションが指定されています。システムのブートプロセスをグラフィカルに表示するオプションです。カーネルを経由してinitに渡され、シェルスクリプト/etc/rc.sysinitの中で実行されますquietほとんどのカーネルメッセージを抑制し、表示を行わないオプションですまた、次のようなオプション指定もできます。init=/bin/bashカーネルが生成する1番目のプロセスをinitではなくbashに設定します。/etc/inittabの記述ミスでシステムが立ち上がらないときなど、この方法で立ち上げ、シェルから回復作業ができます現在立ち上がっているカーネルにどのようなオプションが指定されているかは/proc/cmdlineファイルで確認できます。disk)はブートローダによってメモリにロードされる小さなルートファイルシステムです。カーネルは起動時にこのinitrdをマウントし、initrdの中のプログラムやモジュールを利用してディスク上の本来のルートファイルシステムをマウントします。Deviceモジュールjbd.koが含まれていて、インタプリタnashがinitスクリプトを実行することにより本来のルートファイルシステムがマウントされます。initrdの中のローダブルモジュールのバージョンはカーネルバージョンと同一である必要があるので、カーネルを再構築したときはmkinitrdコマンドによりinitrdを作り直す必要があります。-r`initrdにはcpio形式とファイルシステム形式があります。4.4ではcpio形式です。gzipで圧縮されたinitrdを解凍した後、それぞれのinitrdに次のようにしてアクセスします。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。