Linuxシステムの起動と停止の手順:実践でも役立つLPICドリル(6)(1/4 ページ)
本連載は、Linux 認定試験 LPICに対応しています。一般的なLinuxユーザーレベルのトピックは省略し、システム管理とサーバ管理の内容を取り上げています。また、LPIC対策だけでなく、関連するトピックについて系統的な理解を問う問題も出題しています。連載の特徴は、対象となるプログラムのバージョンを可能な限り明記していること、比較的新しくまとまった解説がまだ少ないトピック、重要だが理解しにくいトピックを優先して取り上げていることです。問題を解き、その解説を読むことにより実践でLinuxを活用できる力を身に付けます。
実践でも役立つLPICドリル バックナンバー
- 第1回 表示結果から読み解け! ハードウェア構成の調査
- 第2回 RPMによるパッケージ管理を理解する
- 第3回 ファイルシステムの管理と保守
- 第4回 X Window System の仕組みと設定
- 第5回 Linuxカーネルのコンフィグレーション手順
- 第6回 Linuxシステムの起動と停止の手順
- 第7回 Linux印刷システムの仕組みと設定
- 第8回 Linux時刻管理の仕組みと設定
- 第9回 Sambaのユーザー認証とファイルアクセス権の設定
- 第10回 DNSセキュリティの設定
- 第11回 Apache&Squidアクセス制御/ユーザー認証の設定
- 最終回 OpenSSHの認証手順
■今回のディストリビューション:CentOS 4.4
問題を解く鍵 【1】【2】【3】
このトピックに関連した設定や試験問題を解く際には、以下の項目がポイントになります。
【1】システムの起動シーケンスの概要を把握しておく
システムの起動シーケンスを把握するとLinuxの仕組みや設定方法が分かり、システムトラブルへの対処もできるようになります。
以下は一般的なLinuxの起動シーケンスです。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
【2】代表的なブートローダ GRUBとLILOの仕組みを把握しておく
ブートローダはディスクの先頭ブロック(MBR:Master Boot Record)に書き込まれています。PCのマザーボード上のICに書き込まれたプログラムBIOS(Basic Input Output System)から呼び出されて実行され、カーネルをメモリにロードするプログラムです。Linuxの代表的なブートローダにはLILO(LInux LOader)とGRUB(GRand Unified Bootloader)があります。
LILOについて
LILOはGRUBが開発される前まで、Linuxの標準のブートローダとして使用されてきました。設定ファイル/etc/lilo.confにカーネルとinitrdのファイル名、カーネルオプションなどを記述し、/sbin/liloコマンドにより設定を行います。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
設定ファイル/etc/lilo/confで指定したカーネルとinitrdの位置情報は、/boot/mapにディスクのセクタ番号で記録されます。カーネルとinitrdを再構成した場合は、たとえファイル名に変更がなくても、/sin/liloコマンドを実行して/boot/mapファイルの情報を更新する必要があります。
GRUBについて
GRUBはGNUによって開発された高機能なブートローダです。現在は多くのLinuxディストリビューションでGRUBが使用されています。設定ファイル/boot/grub/grub.conf(CentOS 4.4の場合/boot/grub/menu.lstはgrub.confへのシンボリックリンク)にカーネルとinitrdのファイル名、カーネルオプションなどを記述し、/sbin/grubコマンドあるいはシェルスクリプト/sbin/grub-installにより設定を行います。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ブートローダによってカーネルや、カーネルを経由してinitに渡すオプションを指定できます。
CentOS 4.4のgrub.confでは次のオプションが指定されています。
rhgb | Red Hat Graphical Boot。システムのブートプロセスをグラフィカルに表示するオプションです。カーネルを経由してinitに渡され、シェルスクリプト/etc/rc.sysinitの中で実行されます |
---|---|
quiet | ほとんどのカーネルメッセージを抑制し、表示を行わないオプションです |
また、次のようなオプション指定もできます。
init=/bin/bash | カーネルが生成する1番目のプロセスをinitではなくbashに設定します。/etc/inittabの記述ミスでシステムが立ち上がらないときなど、この方法で立ち上げ、シェルから回復作業ができます |
---|
現在立ち上がっているカーネルにどのようなオプションが指定されているかは/proc/cmdlineファイルで確認できます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
【3】initrdの役割と仕組みを把握しておく
initrd(initial ram disk)はブートローダによってメモリにロードされる小さなルートファイルシステムです。カーネルは起動時にこのinitrdをマウントし、initrdの中のプログラムやモジュールを利用してディスク上の本来のルートファイルシステムをマウントします。
initrdの中にはext2ファイルシステムモジュールext3.ko、Journaling Block Deviceモジュールjbd.koが含まれていて、インタプリタnashがinitスクリプトを実行することにより本来のルートファイルシステムがマウントされます。initrdの中のローダブルモジュールのバージョンはカーネルバージョンと同一である必要があるので、カーネルを再構築したときはmkinitrdコマンドによりinitrdを作り直す必要があります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
initrdにはcpio形式とファイルシステム形式があります。CentOS 4.4ではcpio形式です。gzipで圧縮されたinitrdを解凍した後、それぞれのinitrdに次のようにしてアクセスします。
cpio形式のinitrdを展開する
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ファイルシステム形式のinitrdをマウントする
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Copyright © ITmedia, Inc. All Rights Reserved.