[ ] [ ] [ ] [ トップページ ] [ 目次 ] [ Linuxの概要 ] [ 基本的な操作 ] [ 日本語の扱い ] [ テキスト編集 ] [ システム管理 ] [ シェルスクリプト ] [ インストール作業の基本 ] [ データベース ] [ 各種リファレンス ]  
[ スーパーユーザ ] [ シャットダウン ] [ ユーザ管理 ] [ アクセス権 ] [ ディスク ] [ デバイス ] [ TCP/IPとインタフェースの設定 ] [ 各種サーバの設定 ] [ プリンタの設定 ] [ ログ(実行記録) ] [ 起動時の動作 ] [ 設定用ユーティリティ ] [ バックアップ ] [ 稼動状況の調査 ]

起動時の動作

LILO(LInux LOader)

Linuxのブートローダ。
Linuxだけでなく,MS-DOS,Windows 9x/NTなどをローディングできる汎用のローダ。
システム起動時に最初に動く。
通常,フロッピーのブートセクタ(最初のセクタ)やハードディスクのMBR(マスタブートレコード)などから読込む。
/etc/lilo.confが設定ファイルとなっており,そのファイルでブート動作を設定できる。

LILO boot:

上記のLILOのプロンプトでパラメータを与えると,それがカーネルなどに渡される。
通常,[Enter]キーだけ押す,あるいは数秒間待てば,デフォルト設定でLinuxのカーネルがロードされる。
パラメータは次の形式で指定する。

LILO boot:<ロードするOS> <パラメータ>
LILO boot:linux 1 <-- Linuxを起動し,そこに1というパラメータ(実行レベルを1にするという意味)を渡す

下記の方法で,イーサネットインタフェースの割り込みやI/Oアドレスを設定することもできる。

LILO boot:linux ether=3,0x340,eth0 <-- Linuxを起動し,eth0というイーサネットデバイスにirq=3,io=0x300というパラメータを設定する

パラメータの詳細などは下記を参照。

  • /usr/doc/HOWTO/BootPrompt-HOWTO
  • /usr/doc/lilo-<version>/READMEなど

initデーモン

Unixカーネルが最初に起動するプロセス。
Unixのすべてのプロセスはinitデーモンの子孫となる。
/etc/inittabの内容に従って,初期化用のスクリプトを実行する。
その他にもいろいろな初期化を行い,デーモンプログラムなどを起動する。

Run Level(実行レベル)

Run LevelによってLinuxの実行モードを変えることができる。
起動時にLILOの引数としてRun Levelを指定できる。
RedHatでのRun Levelは次のとおり。なお,デフォルト(通常の起動)のRun Levelは3。

0

システムを停止する。起動時のデフォルトに設定しない方がよい。

1

シングルユーザモード。

2

マルチユーザモード。NFSを使わない。

3

マルチユーザモード。これがデフォルト。

4

未使用

5

X11

6

リブートする。起動時のデフォルトに設定しない方がよい。

telinitコマンドでRun Levelを変更することも可能。

[root@gw2000 ~]# telinit 1
(以下省略)

システムの初期化スクリプト

Unixはシステム起動時の初期化動作の相当部分をシェルスクリプトで記述してある。
/etcディレクトリの下にあるrcで始まるファイルやディレクトリが,その初期化用のスクリプト。
RedHat Linuxの場合は/etc/rc.dディレクトリの下に次のような初期化用のスクリプトがある。

init.d

デーモンプロセスなどの初期化スクリプトの実体

rc

Run Levelに応じた初期化スクリプトの実行を制御するスクリプト

rc.local

ユーザが定義する初期化スクリプト。初期化の最後に実行される。

rc.news

ニュースサーバ用の初期化スクリプト。

rc.sysinit

最初に実行される初期化スクリプト。

rc0.d

Run Levelに応じた初期化スクリプトを格納したディレクトリ。
その中にはK??.....というものとS??......というシンボリックリンクがある。
K??.....は不要なデーモンを停止するためのもので,まず,こちらの番号が小さいものから順に実行される。
S??.....はデーモンを起動するためのもので,K??.....の後に番号の小さいものから順に実行される。

rc1.d

rc2.d

rc3.d

rc4.d

rc5.d

rc6.d

chkconfigコマンド

chkconfigコマンドでrc?.dディレクトリの下にある初期化スクリプトの状態を調べたり,変更できる。
chkconfigコマンドは,inetd/xinetdで起動するサーバプロセスの状態も表示変更できる。
[root@ns1 /etc]# chkconfig --list  <-- 設定状況を一覧表示する
anacron         0:オフ  1:オフ  2:オン  3:オン  4:オン  5:オン  6:オフ
httpd           0:オフ  1:オフ  2:オフ  3:オン  4:オン  5:オン  6:オフ
apmd            0:オフ  1:オフ  2:オン  3:オン  4:オン  5:オン  6:オフ
atd             0:オフ  1:オフ  2:オフ  3:オン  4:オン  5:オン  6:オフ
syslog          0:オフ  1:オフ  2:オン  3:オン  4:オン  5:オン  6:オフ
crond           0:オフ  1:オフ  2:オン  3:オン  4:オン  5:オン  6:オフ
netfs           0:オフ  1:オフ  2:オフ  3:オン  4:オン  5:オン  6:オフ
network         0:オフ  1:オフ  2:オン  3:オン  4:オン  5:オン  6:オフ
random          0:オフ  1:オフ  2:オン  3:オン  4:オン  5:オン  6:オフ
(途中省略)
ypserv          0:オフ  1:オフ  2:オフ  3:オフ  4:オフ  5:オフ  6:オフ
ntpd            0:オフ  1:オフ  2:オフ  3:オフ  4:オフ  5:オフ  6:オフ
xinetd based services:
        finger: オン
        linuxconf-web:  オフ
        rexec:  オフ
        rlogin: オフ
        rsh:    オフ
(以下省略)

[root@ns1 /etc]# chkconfig --level 23 ntpd on <-- 実行レベルが2と3のときに,nptdを動かすよう設定する

chkconfigのほか,linuxconfなどで初期化スクリプトの有効無効を設定できる。

 

  
WB00806_.gif (471 バイト)
Copyright(C) 1997-1999 GlassCom
webmaster@glasscom.com