OSDN Git Service

(split) LDP: Update the version to 3.53 in PO files
[linuxjm/LDP_man-pages.git] / release / man7 / boot.7
1 .\" Written by Oron Peled <oron@actcom.co.il>.
2 .\"
3 .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
4 .\" May be distributed subject to the GPL.
5 .\" %%%LICENSE_END
6 .\"
7 .\" I tried to be as much generic in the description as possible:
8 .\" - General boot sequence is applicable to almost any
9 .\" OS/Machine (DOS/PC, Linux/PC, Solaris/SPARC, CMS/S390)
10 .\" - kernel and init(8) is applicable to almost any UNIX/Linux
11 .\" - boot scripts are applicable to SYSV-R4 based UNIX/Linux
12 .\"
13 .\" Modified 2004-11-03 patch from Martin Schulze <joey@infodrom.org>
14 .\"
15 .\"*******************************************************************
16 .\"
17 .\" This file was generated with po4a. Translate the source file.
18 .\"
19 .\"*******************************************************************
20 .TH BOOT 7 2010\-09\-19 Linux "Linux Programmer's Manual"
21 .SH 名前
22 boot\-scripts \- ブートシーケンスの一般的な解説
23 .SH 説明
24 .LP
25 細かいところはシステムによって異なるが、大まかに言うと、 ブートシーケンスは以下の段階に分けられる: (1) ハードウェアのブート (2)
26 オペレーティングシステム (OS) ローダー (3) カーネルの起動 (4) init と inittab (5) ブートスクリプト
27 .SS ハードウェアのブート
28 電源投入やハードリセットが行われると、 ROM (通常は PROM) に保存されているプログラムに制御が渡される。 PC ではこのプログラムは通常
29 \fBBIOS\fP と呼ばれる。
30
31 普通このプログラムは、まずマシンの基本的な自己診断を行い、
32 不揮発性メモリにアクセスして各種のパラメータを読み込む。
33 PC では、このメモリは電池によってバックアップされている CMOS メモリである。
34 そのため \fBCMOS\fP と呼ばれることが多い。
35 しかし PC 以外の世界では、通常 \fBnvram\fP (nonvolatile ram) と呼ばれている。
36
37 nvram に保存されているパラメータはシステムによって異なる。 しかし、ハードウェアブートプログラムは、少なくとも、
38 ブートデバイスがどれであるか、もしくは ブートデバイスとして探索するデバイスがどれであるかを 知っていなければならない。
39
40 ハードウェアブートのシーケンスは、次にブートデバイスにアクセスし、 ブートデバイスのあらかじめ決まった場所に置かれている OS
41 ローダーをロードし、制御を渡す。
42 .TP 
43 注意:
44 ここではネットワークブートについては触れない。 この話題について調査したい読者は、 DHCP, TFTP, PXE, Etherboot
45 等について調べてみるとよい。
46 .SS "OS ローダー"
47 PC では、OS ローダーはブートデバイスの先頭セクタに置かれる。 これは \fBMBR\fP (Master Boot Record) と呼ばれる。
48
49 様々な制約のため、 ほとんどのシステムで第一ローダーは非常に簡単な機能しか持っていない。 PC 以外のシステムでも、
50 サイズの制限やローダーの機能などにある程度の制限は存在する。 しかしパーティションテーブルを含めて 512 バイトという PC の MBR では、OS
51 ローダーの全機能をここに押し込むのはまず不可能だ。
52
53 したがって大抵の OS では、第一ローダーは第二ローダーを呼ぶようになっており、
54 後者はあらかじめ指定されたディスクパーティションに置けるようになっている。
55
56 Linux における OS ローダーは、ふつう \fBlilo\fP(8)  か \fBgrub\fP(8)
57 である。両者とも第二ローダーとしてインストールすることもでき (この場合 DOS がインストールした MBR がこれらを指すようにする)、
58 また第一・第二ローダーの両方としてインストールすることもできる。 後者の場合向けに、両者は特別な MBR イメージを提供している。
59 これには第二ローダーをルートパーティションからロードするような ブートストラップコードが含まれている。
60
61 OS ローダーの主な仕事は、カーネルのディスク上の位置を特定し、 ロードして起動することである。ほとんどの OS ローダーは、
62 対話モードで使用することもでき、追加のパラメータをカーネルに渡したり、 デフォルトとは別のカーネルを指定したりすることができる
63 (例えば、最後にコンパイルしたカーネルが機能しなかった時に バックアップのカーネルを指定して起動するといったことができる)。
64 .SS カーネルの起動
65 カーネルはロードされると、デバイスを (ドライバによって)  初期化し、スワッパを起動し (最近の Linux カーネルでは、 スワッパは kswapd
66 という「カーネルプロセス」になる)、 ルートファイルシステム (/) をマウントする。
67
68 カーネルに渡すことのできるパラメータのいくつかは、 これらの動作に関係する。 (例えばデフォルトのルートファイルシステムを変更したりできる)。
69 Linux カーネルパラメータに関するより詳しい情報は \fBbootparam\fP(7)  を読んでほしい。
70
71 これらが済んではじめて、 カーネルは最初の (ユーザランドの) プロセスを生成し、 番号 1 を与える。このプロセスは \fI/sbin/init\fP
72 プログラムを実行する。 カーネルによって解釈されていないパラメータはすべて \fI/sbin/init\fP に渡される。
73 .SS "init と inittab"
74 init は、起動するとまず \fI/etc/inittab\fP を読み、その後の行動に関する情報を得る。 このファイルは \fIランレベル\fP
75 によってどのような動作を行うべきであるかを定義する。
76
77 これによってシステム管理者の管理が楽になる。各\fIランレベル\fPは提供する
78 サービスの集合に対応する (例えば、 \fBS\fP は \fIシングルユーザ\fP、 \fB2\fP で
79 は大抵のネットワークサービスを起動する)。
80 システム管理者は、 \fBinit\fP(8) を用いて現在のランレベルを変更でき、
81 \fBrunlevel\fP(8) によって現在のランレベルを確認できる。
82
83 しかし、このファイルを編集して個々のサービスを管理するのは不便なので、 inittab は単にスクリプトの集合に対するブートストラップになっている。
84 実際の個々のサービスの起動や停止は、これらのスクリプトで行う。
85 .SS ブートスクリプト
86 .TP 
87 注意:
88 以下の説明は System V Release 4 をベースとしたシステムに関するものである。 現在の大抵の商用 UNIX システム (Solaris,
89 HP\-UX, Irix, Tru64) や、 メジャーな Linux ディストリビューション (Red Hat, Debian, Mandriva,
90 SUSE, Ubuntu) はこれをベースにしたものである。 システムによっては、ブートスクリプトの機構が いくらか異なることもある
91 (Slackware Linux, FreeBSD, OpenBSD など)。
92 .LP
93 管理すべき各サービス (メール、nfs サーバ、cron などなど)  それぞれに対して、ブートスクリプトがひとつずつ特定のディレクトリ (ほとんどの
94 Linux で \fI/etc/init.d\fP)  に配置される。これらのスクリプトは、 それぞれ引数としてひとつの単語を取る。"start"
95 が指定されると そのサービスを起動し、"stop" が指定されるとサービスを停止する。 スクリプトは他の「便利な」引数を取ってもよい (例えば
96 "restart" で停止・起動を順番に行ったり、"status" でサービスの状態を表示するなど)。 スクリプトを引数なしで実行すると、
97 指定できる引数の一覧が表示される。
98 .SS 順序づけディレクトリ
99 あるランレベルで、特定のスクリプトを指定した順序で実行させるため、 \fI順序付けディレクトリ (sequencing directory)\fP
100 という仕組みが存在する。 これらはふつう \fI/etc/rc[0\-6S].d\fP である。各ディレクトリの内部には、 \fI/etc/init.d\fP
101 ディレクトリに置かれたスクリプトへのリンク (ふつうはシンボリックリンク)  が置かれる。
102
103 第一スクリプト (通常 \fI/etc/rc\fP)  は \fBinittab\fP(5)  から呼ばれ、
104 順序付けディレクトリに置かれたリンク経由で各サービススクリプトを呼び出す。 名前が \(aqS\(aq ではじまるリンクは "start"
105 という引数をつけて呼び出され (すなわちサービスが起動し)。名前が \(aqK\(aq ではじまるリンクは "stop" という引数をつけて呼び出される
106 (すなわちサービスが停止する)。
107
108 同じランレベルの内部での起動や停止の順序を規定するために、 リンクの名前には順序を示す数字が含まれる。 また、名前をわかりやすくするため、
109 リンク名の末尾には対応するサービスの名前がつけられる。 例えば、 \fI/etc/rc2.d/S80sendmail\fP というリンクは、sendmail
110 サービスをランレベル 2 において起動する。 これは、 \fI/etc/rc2.d/S12syslog\fP よりも後に、また
111 \fI/etc/rc2.d/S90xfs\fP よりも先に実行される。
112
113 ブートの順序とランレベルを管理するには、 これらのリンクを管理しなければならない。 しかし多くの Linux ディストリビューションでは、
114 これらの作業を手助けしてくれるツールが存在する (例えば \fBchkconfig\fP(8)  など)。
115 .SS ブートの設定
116 デーモンの起動時には、 コマンドラインオプションやパラメータを指定できるのが普通である。 システム管理者がこれらのパラメータを変更したいと思ったときに、
117 ブートスクリプトそのものを編集しなくてもすむよう、 設定ファイルが用いられる。これらは特定のディレクトリ (Red Hat システムでは
118 \fI/etc/sysconfig\fP)  に置かれ、ブートスクリプトから参照される。
119
120 古い UNIX システムでは、これらのファイルには デーモンに与える実際のコマンドラインオプションが書かれていた。 しかし最近の Linux システム
121 (や HP\-UX) では、 これらのファイルには単にシェル変数が書かれているだけである。 \fI/etc/init.d\fP
122 に置かれたブートスクリプトは、これらの設定ファイルを \fBsource\fP し、その変数の値を用いる。
123 .SH ファイル
124 .LP
125 \fI/etc/init.d/\fP, \fI/etc/rc[S0\-6].d/\fP, \fI/etc/sysconfig/\fP
126 .SH 関連項目
127 \fBinittab\fP(5), \fBbootparam\fP(7), \fBinit\fP(8), \fBrunlevel\fP(8), \fBshutdown\fP(8)
128 .SH この文書について
129 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
130 である。プロジェクトの説明とバグ報告に関する情報は
131 http://www.kernel.org/doc/man\-pages/ に書かれている。