Manpages

名 前

boot−scripts − ブ ー ト シ ー ケ ン ス の 一 般 的 な 解 説

説 明

細 か い と こ ろ は シ ス テ ム に よ っ て 異 な る が 、 大 ま か に 言 う と 、 ブ ー ト シ ー ケ ン ス は 以 下 の 段 階 に 分 け ら れ る : (1) ハ ー ド ウ ェ ア の ブ ー ト (2) オ ペ レ ー テ ィ ン グ シ ス テ ム (OS) ロ ー ダ ー (3) カ ー ネ ル の 起 動 (4) init と inittab (5) ブ ー ト ス ク リ プ ト ハ ー ド ウ ェ ア の ブ ー ト 電 源 投 入 や ハ ー ド リ セ ッ ト が 行 わ れ る と 、 ROM (通 常 は PROM) に 保 存 さ れ て い る プ ロ グ ラ ム に 制 御 が 渡 さ れ る 。 PC で は こ の プ ロ グ ラ ム は 通 常 BIOS と 呼 ば れ る 。 普 通 こ の プ ロ グ ラ ム は 、 ま ず マ シ ン の 基 本 的 な 自 己 診 断 を 行 い 、 不 揮 発 性 メ モ リ ー に ア ク セ ス し て 各 種 の パ ラ メ ー タ ー を 読 み 込 む 。 PC で は 、 こ の メ モ リ ー は 電 池 に よ っ て バ ッ ク ア ッ プ さ れ て い る CMOS メ モ リ ー で あ る 。 そ の た め CMOS と 呼 ば れ る こ と が 多 い 。 し か し PC 以 外 の 世 界 で は 、 通 常 nvram (nonvolatile ram) と 呼 ば れ て い る 。

nvram に 保 存 さ れ て い る パ ラ メ ー タ ー は シ ス テ ム に よ っ て 異 な る 。 し か し 、 ハ ー ド ウ ェ ア ブ ー ト プ ロ グ ラ ム は 、 少 な く と も 、 ブ ー ト デ バ イ ス が ど れ で あ る か 、 も し く は ブ ー ト デ バ イ ス と し て 探 索 す る デ バ イ ス が ど れ で あ る か を 知 っ て い な け れ ば な ら な い 。 ハ ー ド ウ ェ ア ブ ー ト の シ ー ケ ン ス は 、 次 に ブ ー ト デ バ イ ス に ア ク セ ス し 、 ブ ー ト デ バ イ ス の あ ら か じ め 決 ま っ た 場 所 に 置 か れ て い る OS ロ ー ダ ー を ロ ー ド し 、 制 御 を 渡 す 。

注 意 : こ こ で は ネ ッ ト ワ ー ク ブ ー ト に つ い て は 触 れ な い 。 こ の 話 題 に つ い て 調 査 し た い 読 者 は 、

DHCP, TFTP, PXE, Etherboot 等 に つ い て 調 べ て み る と よ い 。

OS ロ ー ダ ー
PC で は 、 OS ロ ー ダ ー は ブ ー ト デ バ イ ス の 先 頭 セ ク タ に 置 か れ る 。 こ れ は MBR (Master Boot Record) と 呼 ば れ る 。 様 々 な 制 約 の た め 、 ほ と ん ど の シ ス テ ム で 第 一 ロ ー ダ ー は 非 常 に 簡 単 な 機 能 し か 持 っ て い な い 。 PC 以 外 の シ ス テ ム で も 、 サ イ ズ の 制 限 や ロ ー ダ ー の 機 能 な ど に あ る 程 度 の 制 限 は 存 在 す る 。 し か し パ ー テ ィ シ ョ ン テ ー ブ ル を 含 め て 512 バ イ ト と い う PC の MBR で は 、 OS ロ ー ダ ー の 全 機 能 を こ こ に 押 し 込 む の は ま ず 不 可 能 だ 。 し た が っ て 大 抵 の OS で は 、 第 一 ロ ー ダ ー は 第 二 ロ ー ダ ー を 呼 ぶ よ う に な っ て お り 、 後 者 は あ ら か じ め 指 定 さ れ た デ ィ ス ク パ ー テ ィ シ ョ ン に 置 け る よ う に な っ て い る 。

Linux に お け る OS ロ ー ダ ー は 、 ふ つ う lilo(8)grub(8) で あ る 。 両 者 と も 第 二 ロ ー ダ ー と し て イ ン ス ト ー ル す る こ と も で き (こ の 場 合 DOS が イ ン ス ト ー ル し た MBR が こ れ ら を 指 す よ う に す る )、 ま た 第 一 ・ 第 二 ロ ー ダ ー の 両 方 と し て イ ン ス ト ー ル す る こ と も で き る 。 後 者 の 場 合 向 け に 、 両 者 は 特 別 な MBR イ メ ー ジ を 提 供 し て い る 。 こ れ に は 第 二 ロ ー ダ ー を ル ー ト パ ー テ ィ シ ョ ン か ら ロ ー ド す る よ う な ブ ー ト ス ト ラ ッ プ コ ー ド が 含 ま れ て い る 。

OS ロ ー ダ ー の 主 な 仕 事 は 、 カ ー ネ ル の デ ィ ス ク 上 の 位 置 を 特 定 し 、 ロ ー ド し て 起 動 す る こ と で あ る 。 ほ と ん ど の OS ロ ー ダ ー は 、 対 話 モ ー ド で 使 用 す る こ と も で き 、 追 加 の パ ラ メ ー タ ー を カ ー ネ ル に 渡 し た り 、 デ フ ォ ル ト と は 別 の カ ー ネ ル を 指 定 し た り す る こ と が で き る (例 え ば 、 最 後 に コ ン パ イ ル し た カ ー ネ ル が 機 能 し な か っ た 時 に バ ッ ク ア ッ プ の カ ー ネ ル を 指 定 し て 起 動 す る と い っ た こ と が で き る )。 カ ー ネ ル の 起 動 カ ー ネ ル は ロ ー ド さ れ る と 、 デ バ イ ス を (ド ラ イ バ に よ っ て ) 初 期 化 し 、 ス ワ ッ パ を 起 動 し (最 近 の Linux カ ー ネ ル で は 、 ス ワ ッ パ は kswapd と い う 「 カ ー ネ ル プ ロ セ ス 」 に な る )、 ル ー ト フ ァ イ ル シ ス テ ム (/) を マ ウ ン ト す る 。 カ ー ネ ル に 渡 す こ と の で き る パ ラ メ ー タ ー の い く つ か は 、 こ れ ら の 動 作 に 関 係 す る 。 (例 え ば デ フ ォ ル ト の ル ー ト フ ァ イ ル シ ス テ ム を 変 更 し た り で き る )。 Linux カ ー ネ ル パ ラ メ ー タ ー に 関 す る よ り 詳 し い 情 報 は bootparam(7) を 読 ん で ほ し い 。 こ れ ら が 済 ん で は じ め て 、 カ ー ネ ル は 最 初 の (ユ ー ザ ー ラ ン ド の ) プ ロ セ ス を 生 成 し 、 番 号 1 を 与 え る 。 こ の プ ロ セ ス は /sbin/init プ ロ グ ラ ム を 実 行 す る 。 カ ー ネ ル に よ っ て 解 釈 さ れ て い な い パ ラ メ ー タ ー は す べ て /sbin/init に 渡 さ れ る 。

init と inittab
init は 、 起 動 す る と ま ず /etc/inittab を 読 み 、 そ の 後 の 行 動 に 関 す る 情 報 を 得 る 。 こ の フ ァ イ ル は ラ ン レ ベ ル に よ っ て ど の よ う な 動 作 を 行 う べ き で あ る か を 定 義 す る 。 こ れ に よ っ て シ ス テ ム 管 理 者 の 管 理 が 楽 に な る 。 各 ラ ン レ ベ ル は 提 供 す る サ ー ビ ス の 集 合 に 対 応 す る (例 え ば 、 Sシ ン グ ル ユ ー ザ ー2 で は 大 抵 の ネ ッ ト ワ ー ク サ ー ビ ス を 起 動 す る )。 シ ス テ ム 管 理 者 は 、 init(1) を 用 い て 現 在 の ラ ン レ ベ ル を 変 更 で き 、 runlevel(8) に よ っ て 現 在 の ラ ン レ ベ ル を 確 認 で き る 。 し か し 、 こ の フ ァ イ ル を 編 集 し て 個 々 の サ ー ビ ス を 管 理 す る の は 不 便 な の で 、 inittab は 単 に ス ク リ プ ト の 集 合 に 対 す る ブ ー ト ス ト ラ ッ プ に な っ て い る 。 実 際 の 個 々 の サ ー ビ ス の 起 動 や 停 止 は 、 こ れ ら の ス ク リ プ ト で 行 う 。 ブ ー ト ス ク リ プ ト

注 意 : 以 下 の 説 明 は

System V Release 4 を ベ ー ス と し た シ ス テ ム に 関 す る も

の で あ る 。 現 在 の 大 抵 の 商 用 UNIX シ ス テ ム (Solaris, HP−UX, Irix, Tru64) や 、 メ ジ ャ ー な Linux デ ィ ス ト リ ビ ュ ー シ ョ ン (Red Hat, Debian, Mandriva, SUSE, Ubuntu) は こ れ を ベ ー ス に し た も の で あ る 。 シ ス テ ム に よ っ て は 、 ブ ー ト ス ク リ プ ト の 機 構 が い く ら か 異 な る こ と も あ る (Slackware Linux, FreeBSD, OpenBSD な ど )。 管 理 す べ き 各 サ ー ビ ス (メ ー ル 、 nfs サ ー バ 、 cron な ど な ど ) そ れ ぞ れ に 対 し て 、 ブ ー ト ス ク リ プ ト が ひ と つ ず つ 特 定 の デ ィ レ ク ト リ (ほ と ん ど の Linux で /etc/init.d) に 配 置 さ れ る 。 こ れ ら の ス ク リ プ ト は 、 そ れ ぞ れ 引 数 と し て ひ と つ の 単 語 を 取 る 。 "start" が 指 定 さ れ る と そ の サ ー ビ ス を 起 動 し 、 "stop" が 指 定 さ れ る と サ ー ビ ス を 停 止 す る 。 ス ク リ プ ト は 他 の 「 便 利 な 」 引 数 を 取 っ て も よ い (例 え ば "restart" で 停 止 ・ 起 動 を 順 番 に 行 っ た り 、 "status" で サ ー ビ ス の 状 態 を 表 示 す る な ど )。 ス ク リ プ ト を 引 数 な し で 実 行 す る と 、 指 定 で き る 引 数 の 一 覧 が 表 示 さ れ る 。 順 序 づ け デ ィ レ ク ト リ あ る ラ ン レ ベ ル で 、 特 定 の ス ク リ プ ト を 指 定 し た 順 序 で 実 行 さ せ る た め 、 順 序 付 け デ ィ レ ク ト リ (sequencing directory) と い う 仕 組 み が 存 在 す る 。 こ れ ら は ふ つ う /etc/rc[0−6S].d で あ る 。 各 デ ィ レ ク ト リ の 内 部 に は 、 /etc/init.d デ ィ レ ク ト リ に 置 か れ た ス ク リ プ ト へ の リ ン ク (ふ つ う は シ ン ボ リ ッ ク リ ン ク ) が 置 か れ る 。 第 一 ス ク リ プ ト (通 常 /etc/rc) は inittab(5) か ら 呼 ば れ 、 順 序 付 け デ ィ レ ク ト リ に 置 か れ た リ ン ク 経 由 で 各 サ ー ビ ス ス ク リ プ ト を 呼 び 出 す 。 名 前 が 'S' で は じ ま る リ ン ク は "start" と い う 引 数 を つ け て 呼 び 出 さ れ (す な わ ち サ ー ビ ス が 起 動 し )。 名 前 が 'K' で は じ ま る リ ン ク は "stop" と い う 引 数 を つ け て 呼 び 出 さ れ る (す な わ ち サ ー ビ ス が 停 止 す る )。 同 じ ラ ン レ ベ ル の 内 部 で の 起 動 や 停 止 の 順 序 を 規 定 す る た め に 、 リ ン ク の 名 前 に は 順 序 を 示 す 数 字 が 含 ま れ る 。 ま た 、 名 前 を わ か り や す く す る た め 、 リ ン ク 名 の 末 尾 に は 対 応 す る サ ー ビ ス の 名 前 が つ け ら れ る 。 例 え ば 、 /etc/rc2.d/S80sendmail と い う リ ン ク は 、 sendmail サ ー ビ ス を ラ ン レ ベ ル 2 に お い て 起 動 す る 。 こ れ は 、 /etc/rc2.d/S12syslog よ り も 後 に 、 ま た /etc/rc2.d/S90xfs よ り も 先 に 実 行 さ れ る 。 ブ ー ト の 順 序 と ラ ン レ ベ ル を 管 理 す る に は 、 こ れ ら の リ ン ク を 管 理 し な け れ ば な ら な い 。 し か し 多 く の Linux デ ィ ス ト リ ビ ュ ー シ ョ ン で は 、 こ れ ら の 作 業 を 手 助 け し て く れ る ツ ー ル が 存 在 す る (例 え ば chkconfig(8) な ど )。 ブ ー ト の 設 定 デ ー モ ン の 起 動 時 に は 、 コ マ ン ド ラ イ ン オ プ シ ョ ン や パ ラ メ ー タ ー を 指 定 で き る の が 普 通 で あ る 。 シ ス テ ム 管 理 者 が こ れ ら の パ ラ メ ー タ ー を 変 更 し た い と 思 っ た と き に 、 ブ ー ト ス ク リ プ ト そ の も の を 編 集 し な く て も す む よ う 、 設 定 フ ァ イ ル が 用 い ら れ る 。 こ れ ら は 特 定 の デ ィ レ ク ト リ (Red Hat シ ス テ ム で は /etc/sysconfig) に 置 か れ 、 ブ ー ト ス ク リ プ ト か ら 参 照 さ れ る 。 古 い UNIX シ ス テ ム で は 、 こ れ ら の フ ァ イ ル に は デ ー モ ン に 与 え る 実 際 の コ マ ン ド ラ イ ン オ プ シ ョ ン が 書 か れ て い た 。 し か し 最 近 の Linux シ ス テ ム (や HP−UX) で は 、 こ れ ら の フ ァ イ ル に は 単 に シ ェ ル 変 数 が 書 か れ て い る だ け で あ る 。 /etc/init.d に 置 か れ た ブ ー ト ス ク リ プ ト は 、 こ れ ら の 設 定 フ ァ イ ル を source し 、 そ の 変 数 の 値 を 用 い る 。

フ ァ イ ル

/etc/init.d/, /etc/rc[S0−6].d/, /etc/sysconfig/

関 連 項 目

inittab(5), bootparam(7), init(1), runlevel(8), shutdown(8)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。