2012年4月22日日曜日

Linuxの起動について

httpdをLinux起動時からONにするように設定した。
========================
# chkconfig --list httpd
で現在の設定を確認
# chkconfig --level 345 httpd on
自動起動設定
========================

その他起動の設定を変更
# chkconfig  bluetooth off
# chkconfig  xfs off
# chkconfig --level 345 vsftpd on
# chkconfig --level 345 mysqld on
# chkconfig avahi-daemon off
# chkconfig port map off
# chkconfig nfslock off
# chkconfig sendmail off

SendMail使う予定無いのでアンインストール
# yum -y remove sendmail

ここでついでなのでLinuxの起動の流れをまとめとく。

■起動の流れ
1.BIOS
入出力デバイスを認識する
入出力デバイスを初期化する
指定された順に起動デバイスの先頭セクタ(ブートセクタ)を呼び出す
ブートセクタに格納されているブートローダへ制御を移す
※ブートセクタはブートローダを格納する場所でHDでは先頭のセクタになる。MBR(マスターブートレコード)と呼ばれてる。えらそ。

2.ブートローダ
カーネルの呼び出し
カーネルをメモリにロードする

3.カーネル
各種デバイスモジュールをロードする。

4.init
Linuxシステムの親
ここからすべてが起動される

$ ps ax
  PID TTY      STAT   TIME COMMAND
    1      ?             Ss        0:00     init [3]

■init
initの起動時の設定は /etc/inittab に書かれてる
initが/etc/inittabを読み込み、設定順にしたがいそれぞれ実行
1./etc/rc.d/rc.sysinitを実行
2./etc/rc.d/rcを実行
3./etc/rc.d/rcN.dを実行  Nはランレベル

■ランレベル
Linuxの動作状態のことで、0から6まである
0:システム停止
1:シングルユーザーモード
2:マルチユーザーモード(NFSサーバなし)
3:マルチユーザーモード(CUIモード)
4:未使用
5:マルチユーザーモード(GUIログイン)
6:システム再起動

/etc/rc.d/にランレベルごとのディレクトリがある。
Kから始まるものはそのランレベルで終了されるサービス。
Sから始まるものはそのランレベルで起動されるサービス。
現在のランレベルの起動を確認するには
# chkconfig --list
で確認できる。
変更するには
# chkconfig --level ランレベル サービス on/off

【参考】
@IT「Linux起動の仕組みを理解しよう」
http://www.atmarkit.co.jp/flinux/rensai/theory10/theory10a.html
Linux入門「サービスの実行」
http://markun.cs.shinshu-u.ac.jp/learn/linux/h_06-03.html
CentOs徹底入門 翔泳社
http://www.amazon.co.jp/gp/product/4798114626/


0 件のコメント: