X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=release%2Fman7%2Fboot.7;h=c9adc5620fffc9853f3b5bd2607abd0f9931a39b;hb=4fa3e54b837e5814a4598ec901d77446bf5cb9b3;hp=432ceca35e68221579f6cb2616ac988e61c6d2b2;hpb=4a0386e39e89bfc6e52c4cd5372b1a0d9c9bf08c;p=linuxjm%2FLDP_man-pages.git diff --git a/release/man7/boot.7 b/release/man7/boot.7 index 432ceca3..c9adc562 100644 --- a/release/man7/boot.7 +++ b/release/man7/boot.7 @@ -9,206 +9,115 @@ .\" .\" Modified 2004-11-03 patch from Martin Schulze .\" -.\" Japanese Version Copyright (c) 2002 NAKANO Takeo all rights reserved. -.\" Translated 2002-08-07, NAKANO Takeo -.\" Updated 2005-02-21, Akihiro MOTOKI +.\"******************************************************************* .\" -.TH BOOT 7 2010-09-19 "Linux" "Linux Programmer's Manual" -.SH ̾Á° -boot-scripts \- ¥Ö¡¼¥È¥·¡¼¥±¥ó¥¹¤Î°ìÈÌŪ¤Ê²òÀâ -.SH ÀâÌÀ -ºÙ¤«¤¤¤È¤³¤í¤Ï¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤¬¡¢Âç¤Þ¤«¤Ë¸À¤¦¤È¡¢ -¥Ö¡¼¥È¥·¡¼¥±¥ó¥¹¤Ï°Ê²¼¤ÎÃʳ¬¤Ëʬ¤±¤é¤ì¤ë: -(1) ¥Ï¡¼¥É¥¦¥§¥¢¤Î¥Ö¡¼¥È (2) OS ¥í¡¼¥À¡¼ -(3) ¥«¡¼¥Í¥ë¤Îµ¯Æ° (4) init ¤È inittab -(5) ¥Ö¡¼¥È¥¹¥¯¥ê¥×¥È -.SS ¥Ï¡¼¥É¥¦¥§¥¢¤Î¥Ö¡¼¥È -ÅŸ»ÅêÆþ¤ä¥Ï¡¼¥É¥ê¥»¥Ã¥È¤¬¹Ô¤ï¤ì¤ë¤È¡¢ -ROM (Ä̾ï¤Ï PROM) ¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¥×¥í¥°¥é¥à¤ËÀ©¸æ¤¬ÅϤµ¤ì¤ë¡£ -PC ¤Ç¤Ï¤³¤Î¥×¥í¥°¥é¥à¤ÏÄ̾ï \fBBIOS\fR ¤È¸Æ¤Ð¤ì¤ë¡£ - -¤Õ¤Ä¤¦¤³¤Î¥×¥í¥°¥é¥à¤Ï¡¢¤Þ¤º¥Þ¥·¥ó¤Î´ðËÜŪ¤Ê¼«¸Ê¿ÇÃǤò¹Ô¤¤¡¢ -¤½¤·¤ÆÉÔ´øȯÀ­¥á¥â¥ê¤Ë¥¢¥¯¥»¥¹¤·¤Æ³Æ¼ï¤Î¥Ñ¥é¥á¡¼¥¿¤òÆɤ߹þ¤à¡£ -PC ¤Ç¤Ï¡¢¤³¤Î¥á¥â¥ê¤ÏÅÅÃӤˤè¤Ã¤Æ¥Ð¥Ã¥¯¥¢¥Ã¥×¤µ¤ì¤Æ¤¤¤ë CMOS ¥á¥â¥ê¤Ç¤¢¤ë¡£ -¤½¤Î¤¿¤á \fBCMOS\fR ¤È¸Æ¤Ð¤ì¤ë¤³¤È¤¬Â¿¤¤¡£ -¤·¤«¤· PC °Ê³°¤ÎÀ¤³¦¤Ç¤Ï¡¢Ä̾ï \fBnvram\fR -(nonvolatile ram) ¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¡£ - -nvram ¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë¥Ñ¥é¥á¡¼¥¿¤Ï¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¡£ -¤·¤«¤·¡¢¥Ï¡¼¥É¥¦¥§¥¢¥Ö¡¼¥È¥×¥í¥°¥é¥à¤Ï¡¢¾¯¤Ê¤¯¤È¤â¡¢ -¥Ö¡¼¥È¥Ç¥Ð¥¤¥¹¤¬¤É¤ì¤Ç¤¢¤ë¤«¡¢¤â¤·¤¯¤Ï -¥Ö¡¼¥È¥Ç¥Ð¥¤¥¹¤È¤·¤Æõº÷¤¹¤ë¥Ç¥Ð¥¤¥¹¤¬¤É¤ì¤Ç¤¢¤ë¤«¤ò -ÃΤäƤ¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ - -¥Ï¡¼¥É¥¦¥§¥¢¥Ö¡¼¥È¤Î¥·¡¼¥±¥ó¥¹¤Ï¡¢¼¡¤Ë¥Ö¡¼¥È¥Ç¥Ð¥¤¥¹¤Ë¥¢¥¯¥»¥¹¤·¡¢ -¥Ö¡¼¥È¥Ç¥Ð¥¤¥¹¤Î¤¢¤é¤«¤¸¤á·è¤Þ¤Ã¤¿¾ì½ê¤ËÃÖ¤«¤ì¤Æ¤¤¤ë -OS ¥í¡¼¥À¡¼¤ò¥í¡¼¥É¤·¡¢À©¸æ¤òÅϤ¹¡£ -.TP -Ãí°Õ: -¤³¤³¤Ç¤Ï¥Í¥Ã¥È¥ï¡¼¥¯¥Ö¡¼¥È¤Ë¤Ä¤¤¤Æ¤Ï¿¨¤ì¤Ê¤¤¡£ -¤³¤ÎÏÃÂê¤Ë¤Ä¤¤¤ÆÄ´ºº¤·¤¿¤¤ÆɼԤϡ¢ -DHCP, TFTP, PXE, Etherboot Åù¤Ë¤Ä¤¤¤ÆÄ´¤Ù¤Æ¤ß¤ë¤È¤è¤¤¡£ -.SS OS ¥í¡¼¥À¡¼ -PC ¤Ç¤Ï¡¢OS ¥í¡¼¥À¡¼¤Ï¥Ö¡¼¥È¥Ç¥Ð¥¤¥¹¤ÎÀèƬ¥»¥¯¥¿¤ËÃÖ¤«¤ì¤ë¡£ -¤³¤ì¤Ï \fBMBR\fR (Master Boot Record) ¤È¸Æ¤Ð¤ì¤ë¡£ - -ÍÍ¡¹¤ÊÀ©Ìó¤Î¤¿¤á¡¢ -¤Û¤È¤ó¤É¤Î¥·¥¹¥Æ¥à¤ÇÂè°ì¥í¡¼¥À¡¼¤ÏÈó¾ï¤Ë´Êñ¤Êµ¡Ç½¤·¤«»ý¤Ã¤Æ¤¤¤Ê¤¤¡£ -PC °Ê³°¤Î¥·¥¹¥Æ¥à¤Ç¤â¡¢ -¥µ¥¤¥º¤ÎÀ©¸Â¤ä¥í¡¼¥À¡¼¤Îµ¡Ç½¤Ê¤É¤Ë¤¢¤ëÄøÅÙ¤ÎÀ©¸Â¤Ï¸ºß¤¹¤ë¡£ -¤·¤«¤·¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¥Æ¡¼¥Ö¥ë¤ò´Þ¤á¤Æ 512 ¥Ð¥¤¥È¤È¤¤¤¦ -PC ¤Î MBR ¤Ç¤Ï¡¢OS ¥í¡¼¥À¡¼¤ÎÁ´µ¡Ç½¤ò¤³¤³¤Ë²¡¤·¹þ¤à¤Î¤Ï¤Þ¤ºÉÔ²Äǽ¤À¡£ - -¤·¤¿¤¬¤Ã¤ÆÂçÄñ¤Î OS ¤Ç¤Ï¡¢Âè°ì¥í¡¼¥À¡¼¤ÏÂèÆó¥í¡¼¥À¡¼¤ò¸Æ¤Ö¤è¤¦¤Ë¤Ê¤Ã¤Æ¤ª¤ê¡¢ -¸å¼Ô¤Ï¤¢¤é¤«¤¸¤á»ØÄꤵ¤ì¤¿¥Ç¥£¥¹¥¯¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤ËÃÖ¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ - -Linux ¤Ë¤ª¤±¤ë OS ¥í¡¼¥À¡¼¤Ï¡¢¤Õ¤Ä¤¦ -.BR lilo (8) -¤« -.BR grub (8) -¤Ç¤¢¤ë¡£Î¾¼Ô¤È¤âÂèÆó¥í¡¼¥À¡¼¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤â¤Ç¤­ -(¤³¤Î¾ì¹ç DOS ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿ MBR ¤¬¤³¤ì¤é¤ò»Ø¤¹¤è¤¦¤Ë¤¹¤ë)¡¢ -¤Þ¤¿Âè°ì¡¦ÂèÆó¥í¡¼¥À¡¼¤ÎξÊý¤È¤·¤Æ¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤â¤Ç¤­¤ë¡£ -¸å¼Ô¤Î¾ì¹ç¸þ¤±¤Ë¡¢Î¾¼Ô¤ÏÆÃÊÌ¤Ê MBR ¥¤¥á¡¼¥¸¤òÄ󶡤·¤Æ¤¤¤ë¡£ -¤³¤ì¤Ë¤ÏÂèÆó¥í¡¼¥À¡¼¤ò¥ë¡¼¥È¥Ñ¡¼¥Æ¥£¥·¥ç¥ó¤«¤é¥í¡¼¥É¤¹¤ë¤è¤¦¤Ê -¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¥³¡¼¥É¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¡£ - -OS ¥í¡¼¥À¡¼¤Î¼ç¤Ê»Å»ö¤Ï¡¢¥«¡¼¥Í¥ë¤Î¥Ç¥£¥¹¥¯¾å¤Î°ÌÃÖ¤òÆÃÄꤷ¡¢ -¥í¡¼¥É¤·¤Æµ¯Æ°¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£¤Û¤È¤ó¤É¤Î OS ¥í¡¼¥À¡¼¤Ï¡¢ -ÂÐÏå⡼¥É¤Ç»ÈÍѤ¹¤ë¤³¤È¤â¤Ç¤­¡¢ÄɲäΥѥé¥á¡¼¥¿¤ò¥«¡¼¥Í¥ë¤ËÅϤ·¤¿¤ê¡¢ -¥Ç¥Õ¥©¥ë¥È¤È¤ÏÊ̤Υ«¡¼¥Í¥ë¤ò»ØÄꤷ¤¿¤ê¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë -(Î㤨¤Ð¡¢ºÇ¸å¤Ë¥³¥ó¥Ñ¥¤¥ë¤·¤¿¥«¡¼¥Í¥ë¤¬µ¡Ç½¤·¤Ê¤«¤Ã¤¿»þ¤Ë -¥Ð¥Ã¥¯¥¢¥Ã¥×¤Î¥«¡¼¥Í¥ë¤ò»ØÄꤷ¤Æµ¯Æ°¤¹¤ë¤È¤¤¤Ã¤¿¤³¤È¤¬¤Ç¤­¤ë)¡£ -.SS ¥«¡¼¥Í¥ë¤Îµ¯Æ° -¥«¡¼¥Í¥ë¤Ï¥í¡¼¥É¤µ¤ì¤ë¤È¡¢¥Ç¥Ð¥¤¥¹¤ò (¥É¥é¥¤¥Ð¤Ë¤è¤Ã¤Æ) -½é´ü²½¤·¡¢¥¹¥ï¥Ã¥Ñ¤òµ¯Æ°¤· (ºÇ¶á¤Î Linux ¥«¡¼¥Í¥ë¤Ç¤Ï¡¢ -¥¹¥ï¥Ã¥Ñ¤Ï kswapd ¤È¤¤¤¦¡Ö¥«¡¼¥Í¥ë¥×¥í¥»¥¹¡×¤Ë¤Ê¤ë)¡¢ -¥ë¡¼¥È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à (/) ¤ò¥Þ¥¦¥ó¥È¤¹¤ë¡£ - -¥«¡¼¥Í¥ë¤ËÅϤ¹¤³¤È¤Î¤Ç¤­¤ë¥Ñ¥é¥á¡¼¥¿¤Î¤¤¤¯¤Ä¤«¤Ï¡¢ -¤³¤ì¤é¤ÎÆ°ºî¤Ë´Ø·¸¤¹¤ë¡£ -(Î㤨¤Ð¥Ç¥Õ¥©¥ë¥È¤Î¥ë¡¼¥È¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÊѹ¹¤·¤¿¤ê¤Ç¤­¤ë)¡£ -Linux ¥«¡¼¥Í¥ë¥Ñ¥é¥á¡¼¥¿¤Ë´Ø¤¹¤ë¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï -.BR bootparam (7) -¤òÆɤó¤Ç¤Û¤·¤¤¡£ - -¤³¤ì¤é¤¬ºÑ¤ó¤Ç¤Ï¤¸¤á¤Æ¡¢ -¥«¡¼¥Í¥ë¤ÏºÇ½é¤Î (¥æ¡¼¥¶¥é¥ó¥É¤Î) ¥×¥í¥»¥¹¤òÀ¸À®¤·¡¢ -ÈÖ¹æ 1 ¤òÍ¿¤¨¤ë¡£¤³¤Î¥×¥í¥»¥¹¤Ï -.I /sbin/init -¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¡£ -¥«¡¼¥Í¥ë¤Ë¤è¤Ã¤Æ²ò¼á¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ñ¥é¥á¡¼¥¿¤Ï¤¹¤Ù¤Æ -.I /sbin/init -¤ËÅϤµ¤ì¤ë¡£ -.SS init ¤È inittab -init ¤Ï¡¢µ¯Æ°¤¹¤ë¤È¤Þ¤º -.I /etc/inittab -¤òÆɤߡ¢¤½¤Î¸å¤Î¹ÔÆ°¤Ë´Ø¤¹¤ë¾ðÊó¤òÆÀ¤ë¡£ -¤³¤Î¥Õ¥¡¥¤¥ë¤Ï -.I ¥é¥ó¥ì¥Ù¥ë -¤Ë¤è¤Ã¤Æ¤É¤Î¤è¤¦¤ÊÆ°ºî¤ò¹Ô¤¦¤Ù¤­¤Ç¤¢¤ë¤«¤òÄêµÁ¤¹¤ë¡£ - -¤³¤ì¤Ë¤è¤Ã¤Æ¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Î´ÉÍý¤¬³Ú¤Ë¤Ê¤ë¡£ -³Æ\fI¥é¥ó¥ì¥Ù¥ë\fR¤ÏÄ󶡤¹¤ë¥µ¡¼¥Ó¥¹¤Î½¸¹ç¤ËÂбþ¤¹¤ë -(Î㤨¤Ð \fBS\fR ¤Ï \fI¥·¥ó¥°¥ë¥æ¡¼¥¶\fR¡¢ -\fB2\fR ¤Ç¤ÏÂçÄñ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤¹¤ë¡¢¤Ê¤É)¡£ -¥·¥¹¥Æ¥à´ÉÍý¼Ô¤Ï¡¢ -.BR init (8) -¤òÍѤ¤¤Æ¸½ºß¤Î¥é¥ó¥ì¥Ù¥ë¤òÊѹ¹¤Ç¤­¡¢ -.BR runlevel (8) -¤Ë¤è¤Ã¤Æ¸½ºß¤Î¥é¥ó¥ì¥Ù¥ë¤ò³Îǧ¤Ç¤­¤ë¡£ - -¤·¤«¤·¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Æ¸Ä¡¹¤Î¥µ¡¼¥Ó¥¹¤ò´ÉÍý¤¹¤ë¤Î¤ÏÉÔÊؤʤΤǡ¢ -inittab ¤Ïñ¤Ë¥¹¥¯¥ê¥×¥È¤Î½¸¹ç¤ËÂФ¹¤ë¥Ö¡¼¥È¥¹¥È¥é¥Ã¥×¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¼ÂºÝ¤Î¸Ä¡¹¤Î¥µ¡¼¥Ó¥¹¤Îµ¯Æ°¤äÄä»ß¤Ï¡¢¤³¤ì¤é¤Î¥¹¥¯¥ê¥×¥È¤Ç¹Ô¤¦¡£ -.SS ¥Ö¡¼¥È¥¹¥¯¥ê¥×¥È -.TP -Ãí°Õ: -°Ê²¼¤ÎÀâÌÀ¤Ï System V Release 4 ¤ò¥Ù¡¼¥¹¤È¤·¤¿¥·¥¹¥Æ¥à¤Ë´Ø¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£ -¸½ºß¤ÎÂçÄñ¤Î¾¦ÍÑ UNIX ¥·¥¹¥Æ¥à (Solaris, HP-UX, Irix, Tru64) ¤ä¡¢ -¥á¥¸¥ã¡¼¤Ê Linux ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó (Red Hat, Debian, Mandriva, -SUSE, Ubuntu) ¤Ï¤³¤ì¤ò¥Ù¡¼¥¹¤Ë¤·¤¿¤â¤Î¤Ç¤¢¤ë¡£ -¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢¥Ö¡¼¥È¥¹¥¯¥ê¥×¥È¤Îµ¡¹½¤¬ -¤¤¤¯¤é¤«°Û¤Ê¤ë¤³¤È¤â¤¢¤ë (Slackware Linux, FreeBSD, OpenBSD ¤Ê¤É)¡£ +.\" This file was generated with po4a. Translate the source file. +.\" +.\"******************************************************************* +.TH BOOT 7 2010\-09\-19 Linux "Linux Programmer's Manual" +.SH 名前 +boot\-scripts \- ブートシーケンスの一般的な解説 +.SH 説明 +.LP +細かいところはシステムによって異なるが、大まかに言うと、 ブートシーケンスは以下の段階に分けられる: (1) ハードウェアのブート (2) OS +ローダー (3) カーネルの起動 (4) init と inittab (5) ブートスクリプト +.SS ハードウェアのブート +電源投入やハードリセットが行われると、 ROM (通常は PROM) に保存されているプログラムに制御が渡される。 PC ではこのプログラムは通常 +\fBBIOS\fP と呼ばれる。 + +普通このプログラムは、まずマシンの基本的な自己診断を行い、 +不揮発性メモリにアクセスして各種のパラメータを読み込む。 +PC では、このメモリは電池によってバックアップされている CMOS メモリである。 +そのため \fBCMOS\fP と呼ばれることが多い。 +しかし PC 以外の世界では、通常 \fBnvram\fP (nonvolatile ram) と呼ばれている。 + +nvram に保存されているパラメータはシステムによって異なる。 しかし、ハードウェアブートプログラムは、少なくとも、 +ブートデバイスがどれであるか、もしくは ブートデバイスとして探索するデバイスがどれであるかを 知っていなければならない。 + +ハードウェアブートのシーケンスは、次にブートデバイスにアクセスし、 ブートデバイスのあらかじめ決まった場所に置かれている OS +ローダーをロードし、制御を渡す。 +.TP +注意: +ここではネットワークブートについては触れない。 この話題について調査したい読者は、 DHCP, TFTP, PXE, Etherboot +等について調べてみるとよい。 +.SS "OS ローダー" +PC では、OS ローダーはブートデバイスの先頭セクタに置かれる。 これは \fBMBR\fP (Master Boot Record) と呼ばれる。 + +様々な制約のため、 ほとんどのシステムで第一ローダーは非常に簡単な機能しか持っていない。 PC 以外のシステムでも、 +サイズの制限やローダーの機能などにある程度の制限は存在する。 しかしパーティションテーブルを含めて 512 バイトという PC の MBR では、OS +ローダーの全機能をここに押し込むのはまず不可能だ。 + +したがって大抵の OS では、第一ローダーは第二ローダーを呼ぶようになっており、 +後者はあらかじめ指定されたディスクパーティションに置けるようになっている。 + +Linux における OS ローダーは、ふつう \fBlilo\fP(8) か \fBgrub\fP(8) +である。両者とも第二ローダーとしてインストールすることもでき (この場合 DOS がインストールした MBR がこれらを指すようにする)、 +また第一・第二ローダーの両方としてインストールすることもできる。 後者の場合向けに、両者は特別な MBR イメージを提供している。 +これには第二ローダーをルートパーティションからロードするような ブートストラップコードが含まれている。 + +OS ローダーの主な仕事は、カーネルのディスク上の位置を特定し、 ロードして起動することである。ほとんどの OS ローダーは、 +対話モードで使用することもでき、追加のパラメータをカーネルに渡したり、 デフォルトとは別のカーネルを指定したりすることができる +(例えば、最後にコンパイルしたカーネルが機能しなかった時に バックアップのカーネルを指定して起動するといったことができる)。 +.SS カーネルの起動 +カーネルはロードされると、デバイスを (ドライバによって) 初期化し、スワッパを起動し (最近の Linux カーネルでは、 スワッパは kswapd +という「カーネルプロセス」になる)、 ルートファイルシステム (/) をマウントする。 + +カーネルに渡すことのできるパラメータのいくつかは、 これらの動作に関係する。 (例えばデフォルトのルートファイルシステムを変更したりできる)。 +Linux カーネルパラメータに関するより詳しい情報は \fBbootparam\fP(7) を読んでほしい。 + +これらが済んではじめて、 カーネルは最初の (ユーザランドの) プロセスを生成し、 番号 1 を与える。このプロセスは \fI/sbin/init\fP +プログラムを実行する。 カーネルによって解釈されていないパラメータはすべて \fI/sbin/init\fP に渡される。 +.SS "init と inittab" +init は、起動するとまず \fI/etc/inittab\fP を読み、その後の行動に関する情報を得る。 このファイルは \fIランレベル\fP +によってどのような動作を行うべきであるかを定義する。 + +これによってシステム管理者の管理が楽になる。 各\fIランレベル\fPは提供するサービスの集合に対応する (例えば \fBS\fP は \fIシングルユーザ\fP、 +\fB2\fP では大抵のネットワークサービスを起動する、など)。 システム管理者は、 \fBinit\fP(8) を用いて現在のランレベルを変更でき、 +\fBrunlevel\fP(8) によって現在のランレベルを確認できる。 + +しかし、このファイルを編集して個々のサービスを管理するのは不便なので、 inittab は単にスクリプトの集合に対するブートストラップになっている。 +実際の個々のサービスの起動や停止は、これらのスクリプトで行う。 +.SS ブートスクリプト + +.TP +注意: +以下の説明は System V Release 4 をベースとしたシステムに関するものである。 現在の大抵の商用 UNIX システム (Solaris, +HP\-UX, Irix, Tru64) や、 メジャーな Linux ディストリビューション (Red Hat, Debian, Mandriva, +SUSE, Ubuntu) はこれをベースにしたものである。 システムによっては、ブートスクリプトの機構が いくらか異なることもある +(Slackware Linux, FreeBSD, OpenBSD など)。 +.LP +管理すべき各サービス (メール、nfs サーバ、cron などなど) それぞれに対して、ブートスクリプトがひとつずつ特定のディレクトリ (ほとんどの +Linux で \fI/etc/init.d\fP) に配置される。これらのスクリプトは、 それぞれ引数としてひとつの単語を取る。"start" +が指定されると そのサービスを起動し、"stop" が指定されるとサービスを停止する。 スクリプトは他の「便利な」引数を取ってもよい (例えば +"restart" で停止・起動を順番に行ったり、"status" でサービスの状態を表示するなど)。 スクリプトを引数なしで実行すると、 +指定できる引数の一覧が表示される。 +.SS 順序づけディレクトリ +あるランレベルで、特定のスクリプトを指定した順序で実行させるため、 \fI順序付けディレクトリ (sequencing directory)\fP +という仕組みが存在する。 これらはふつう \fI/etc/rc[0\-6S].d\fP である。各ディレクトリの内部には、 \fI/etc/init.d\fP +ディレクトリに置かれたスクリプトへのリンク (ふつうはシンボリックリンク) が置かれる。 + +第一スクリプト (通常 \fI/etc/rc\fP) は \fBinittab\fP(5) から呼ばれ、 +順序付けディレクトリに置かれたリンク経由で各サービススクリプトを呼び出す。 名前が \(aqS\(aq ではじまるリンクは "start" +という引数をつけて呼び出され (すなわちサービスが起動し)。名前が \(aqK\(aq ではじまるリンクは "stop" という引数をつけて呼び出される +(すなわちサービスが停止する)。 + +同じランレベルの内部での起動や停止の順序を規定するために、 リンクの名前には順序を示す数字が含まれる。 また、名前をわかりやすくするため、 +リンク名の末尾には対応するサービスの名前がつけられる。 例えば、 \fI/etc/rc2.d/S80sendmail\fP というリンクは、sendmail +サービスをランレベル 2 において起動する。 これは、 \fI/etc/rc2.d/S12syslog\fP よりも後に、また +\fI/etc/rc2.d/S90xfs\fP よりも先に実行される。 + +ブートの順序とランレベルを管理するには、 これらのリンクを管理しなければならない。 しかし多くの Linux ディストリビューションでは、 +これらの作業を手助けしてくれるツールが存在する (例えば \fBchkconfig\fP(8) など)。 +.SS ブートの設定 +デーモンの起動時には、 コマンドラインオプションやパラメータを指定できるのが普通である。 システム管理者がこれらのパラメータを変更したいと思ったときに、 +ブートスクリプトそのものを編集しなくてもすむよう、 設定ファイルが用いられる。これらは特定のディレクトリ (Red Hat システムでは +\fI/etc/sysconfig\fP) に置かれ、ブートスクリプトから参照される。 + +古い UNIX システムでは、これらのファイルには デーモンに与える実際のコマンドラインオプションが書かれていた。 しかし最近の Linux システム +(や HP\-UX) では、 これらのファイルには単にシェル変数が書かれているだけである。 \fI/etc/init.d\fP +に置かれたブートスクリプトは、これらの設定ファイルを \fBsource\fP し、その変数の値を用いる。 +.SH ファイル .LP -´ÉÍý¤¹¤Ù¤­³Æ¥µ¡¼¥Ó¥¹ (¥á¡¼¥ë¡¢nfs ¥µ¡¼¥Ð¡¢cron ¤Ê¤É¤Ê¤É) -¤½¤ì¤¾¤ì¤ËÂФ·¤Æ¡¢¥Ö¡¼¥È¥¹¥¯¥ê¥×¥È¤¬¤Ò¤È¤Ä¤º¤ÄÆÃÄê¤Î¥Ç¥£¥ì¥¯¥È¥ê -(¤Û¤È¤ó¤É¤Î Linux ¤Ç -.IR /etc/init.d ) -¤ËÇÛÃÖ¤µ¤ì¤ë¡£¤³¤ì¤é¤Î¥¹¥¯¥ê¥×¥È¤Ï¡¢ -¤½¤ì¤¾¤ì°ú¿ô¤È¤·¤Æ¤Ò¤È¤Ä¤Îñ¸ì¤ò¼è¤ë¡£"start" ¤¬»ØÄꤵ¤ì¤ë¤È -¤½¤Î¥µ¡¼¥Ó¥¹¤òµ¯Æ°¤·¡¢"stop" ¤¬»ØÄꤵ¤ì¤ë¤È¥µ¡¼¥Ó¥¹¤òÄä»ß¤¹¤ë¡£ -¥¹¥¯¥ê¥×¥È¤Ï¾¤Î¡ÖÊØÍø¤Ê¡×°ú¿ô¤ò¼è¤Ã¤Æ¤â¤è¤¤ -(Î㤨¤Ð "restart" ¤ÇÄä»ß¡¦µ¯Æ°¤ò½çÈ֤˹Ԥ俤ꡢ"status" -¤Ç¥µ¡¼¥Ó¥¹¤Î¾õÂÖ¤òɽ¼¨¤¹¤ë¤Ê¤É)¡£ -¥¹¥¯¥ê¥×¥È¤ò°ú¿ô¤Ê¤·¤Ç¼Â¹Ô¤¹¤ë¤È¡¢ -»ØÄê¤Ç¤­¤ë°ú¿ô¤Î°ìÍ÷¤¬É½¼¨¤µ¤ì¤ë¡£ -.SS ½ç½ø¤Å¤±¥Ç¥£¥ì¥¯¥È¥ê -¤¢¤ë¥é¥ó¥ì¥Ù¥ë¤Ç¡¢ÆÃÄê¤Î¥¹¥¯¥ê¥×¥È¤ò»ØÄꤷ¤¿½ç½ø¤Ç¼Â¹Ô¤µ¤»¤ë¤¿¤á¡¢ -.I ½ç½øÉÕ¤±¥Ç¥£¥ì¥¯¥È¥ê (sequencing directory) -¤È¤¤¤¦»ÅÁȤߤ¬Â¸ºß¤¹¤ë¡£ -¤³¤ì¤é¤Ï¤Õ¤Ä¤¦ -.I /etc/rc[0\-6S].d -¤Ç¤¢¤ë¡£³Æ¥Ç¥£¥ì¥¯¥È¥ê¤ÎÆâÉô¤Ë¤Ï¡¢ -.I /etc/init.d -¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤¿¥¹¥¯¥ê¥×¥È¤Ø¤Î¥ê¥ó¥¯ (¤Õ¤Ä¤¦¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥ê¥ó¥¯) -¤¬ÃÖ¤«¤ì¤ë¡£ - -Âè°ì¥¹¥¯¥ê¥×¥È (Ä̾ï -.IR /etc/rc ) -¤Ï -.BR inittab (5) -¤«¤é¸Æ¤Ð¤ì¡¢ -½ç½øÉÕ¤±¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤¿¥ê¥ó¥¯·Ðͳ¤Ç³Æ¥µ¡¼¥Ó¥¹¥¹¥¯¥ê¥×¥È¤ò¸Æ¤Ó½Ð¤¹¡£ -̾Á°¤¬ \(aqS\(aq ¤Ç¤Ï¤¸¤Þ¤ë¥ê¥ó¥¯¤Ï "start" ¤È¤¤¤¦°ú¿ô¤ò¤Ä¤±¤Æ¸Æ¤Ó½Ð¤µ¤ì -(¤¹¤Ê¤ï¤Á¥µ¡¼¥Ó¥¹¤¬µ¯Æ°¤·)¡£Ì¾Á°¤¬ \(aqK\(aq ¤Ç¤Ï¤¸¤Þ¤ë¥ê¥ó¥¯¤Ï "stop" -¤È¤¤¤¦°ú¿ô¤ò¤Ä¤±¤Æ¸Æ¤Ó½Ð¤µ¤ì¤ë (¤¹¤Ê¤ï¤Á¥µ¡¼¥Ó¥¹¤¬Ää»ß¤¹¤ë)¡£ - -Ʊ¤¸¥é¥ó¥ì¥Ù¥ë¤ÎÆâÉô¤Ç¤Îµ¯Æ°¤äÄä»ß¤Î½ç½ø¤òµ¬Äꤹ¤ë¤¿¤á¤Ë¡¢ -¥ê¥ó¥¯¤Î̾Á°¤Ë¤Ï½ç½ø¤ò¼¨¤¹¿ô»ú¤¬´Þ¤Þ¤ì¤ë¡£ -¤Þ¤¿¡¢Ì¾Á°¤ò¤ï¤«¤ê¤ä¤¹¤¯¤¹¤ë¤¿¤á¡¢ -¥ê¥ó¥¯Ì¾¤ÎËöÈø¤Ë¤ÏÂбþ¤¹¤ë¥µ¡¼¥Ó¥¹¤Î̾Á°¤¬¤Ä¤±¤é¤ì¤ë¡£ -Î㤨¤Ð¡¢ -.I /etc/rc2.d/S80sendmail -¤È¤¤¤¦¥ê¥ó¥¯¤Ï¡¢sendmail ¥µ¡¼¥Ó¥¹¤ò¥é¥ó¥ì¥Ù¥ë 2 ¤Ë¤ª¤¤¤Æµ¯Æ°¤¹¤ë¡£ -¤³¤ì¤Ï¡¢ -.I /etc/rc2.d/S12syslog -¤è¤ê¤â¸å¤Ë¡¢¤Þ¤¿ -.I /etc/rc2.d/S90xfs -¤è¤ê¤âÀè¤Ë¼Â¹Ô¤µ¤ì¤ë¡£ - -¥Ö¡¼¥È¤Î½ç½ø¤È¥é¥ó¥ì¥Ù¥ë¤ò´ÉÍý¤¹¤ë¤Ë¤Ï¡¢ -¤³¤ì¤é¤Î¥ê¥ó¥¯¤ò´ÉÍý¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -¤·¤«¤·Â¿¤¯¤Î Linux ¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Ç¤Ï¡¢ -¤³¤ì¤é¤Îºî¶È¤ò¼ê½õ¤±¤·¤Æ¤¯¤ì¤ë¥Ä¡¼¥ë¤¬Â¸ºß¤¹¤ë -(Î㤨¤Ð -.BR chkconfig (8) -¤Ê¤É)¡£ -.SS ¥Ö¡¼¥È¤ÎÀßÄê -¥Ç¡¼¥â¥ó¤Îµ¯Æ°»þ¤Ë¤Ï¡¢ -¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ä¥Ñ¥é¥á¡¼¥¿¤ò»ØÄê¤Ç¤­¤ë¤Î¤¬ÉáÄ̤Ǥ¢¤ë¡£ -¥·¥¹¥Æ¥à´ÉÍý¼Ô¤¬¤³¤ì¤é¤Î¥Ñ¥é¥á¡¼¥¿¤òÊѹ¹¤·¤¿¤¤¤È»×¤Ã¤¿¤È¤­¤Ë¡¢ -¥Ö¡¼¥È¥¹¥¯¥ê¥×¥È¤½¤Î¤â¤Î¤òÊÔ½¸¤·¤Ê¤¯¤Æ¤â¤¹¤à¤è¤¦¡¢ -ÀßÄê¥Õ¥¡¥¤¥ë¤¬ÍѤ¤¤é¤ì¤ë¡£¤³¤ì¤é¤ÏÆÃÄê¤Î¥Ç¥£¥ì¥¯¥È¥ê -(Red Hat ¥·¥¹¥Æ¥à¤Ç¤Ï -.IR /etc/sysconfig ) -¤ËÃÖ¤«¤ì¡¢¥Ö¡¼¥È¥¹¥¯¥ê¥×¥È¤«¤é»²¾È¤µ¤ì¤ë¡£ - -¸Å¤¤ UNIX ¥·¥¹¥Æ¥à¤Ç¤Ï¡¢¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ï -¥Ç¡¼¥â¥ó¤ËÍ¿¤¨¤ë¼ÂºÝ¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤¬½ñ¤«¤ì¤Æ¤¤¤¿¡£ -¤·¤«¤·ºÇ¶á¤Î Linux ¥·¥¹¥Æ¥à (¤ä HP-UX) ¤Ç¤Ï¡¢ -¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤Ë¤Ïñ¤Ë¥·¥§¥ëÊÑ¿ô¤¬½ñ¤«¤ì¤Æ¤¤¤ë¤À¤±¤Ç¤¢¤ë¡£ -.I /etc/init.d -¤ËÃÖ¤«¤ì¤¿¥Ö¡¼¥È¥¹¥¯¥ê¥×¥È¤Ï¡¢¤³¤ì¤é¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤ò -.B source -¤·¡¢¤½¤ÎÊÑ¿ô¤ÎÃͤòÍѤ¤¤ë¡£ -.SH ¥Õ¥¡¥¤¥ë -.IR /etc/init.d/ , -.IR /etc/rc[S0\-6].d/ , -.I /etc/sysconfig/ -.SH ´ØÏ¢¹àÌÜ -.BR inittab (5), -.BR bootparam (7), -.BR init (8), -.BR runlevel (8), -.BR shutdown (8) +\fI/etc/init.d/\fP, \fI/etc/rc[S0\-6].d/\fP, \fI/etc/sysconfig/\fP +.SH 関連項目 +\fBinittab\fP(5), \fBbootparam\fP(7), \fBinit\fP(8), \fBrunlevel\fP(8), \fBshutdown\fP(8)