1.システムの起動・停止


3.1 システムの起動

3.1.1 ランレベル(run level)
ランレベルとは、システムの状態を表す値です。次のような状態があります。
ランレベル システムの状態
0  停止
1  シングルユーザモード(コンソールからrootユーザだけが使えます:メンテナンス時など)
2  マルチユーザモード(NFSサーバー機能無し)
3  マルチユーザモード(NFSサーバー機能有り)
4  未使用 [Plamoのサイト見ると "xdm(X Display Manager)の X-window only" とあります???]
5  マルチユーザーモード(X Window System 自動起動)
6  再起動
通常は、ランレベル 2、3、5で行います。
現在のランレベルは runlevel コマンドで確認できます。

runlevel

ランレベルの変更は、 init コマンドで行います。(止まったように見える時は「Enter」押しましょう)

init

システム起動時のランレベルの設定は /etc/inittab で行います。

inittab

3.1.2 システム起動の流れ
Linuxの(基本的な)起動は以下のように行われます。
1.電源投入

2.BIOSプログラム起動

  ・ブートデバイスの選択(CD-ROM,FD,HDD等)

3.ブートローダ(LILO, grub)の起動( /etc/lilo.conf または /etc/grub.conf )

  "boot"プロンプトに対して、"linux ランレベル" と入力すると /etc/inittab の設定に優先して起動時のランレベルを指定できます。

  Ex : linux 1 とするとシングルユーザモードで起動します。

4.カーネルのリード

  カーネルは /boot ディレクトリに配置されています。 (/boot/vmlinuz)
  ハードウェア環境のチェック、初期設定を行います。

5.init プログラムの実行

  /etc/inittab の設定にしたがって起動設定を行います。

6. /etc/rc.d/rc.sysinit の実行

  スワップの設定、ファイルシステムのチェック、マウントなどを行います。

7. /etc/rc.d/rc の実行

  ランレベルに応じて、サービスデーモンを起動します。

8.ログイン

  ・シングルユーザモードの場合、ログイン作業はありません。
  ・その他のランレベルでは、6つの仮想コンソール(テキスト画面)を用意してログインを受け付けます。
  ・ランレベル5の場合はGUI形式のログイン画面を表示します。
   
     仮想コンソールの使い方
  ※たしかにPC-98x1では「GRPH」+「F1」〜「F6」で仮想コンソールの切り替えできました。
さて、上のは一般的な動きですが、Plamoについてもう少し詳しく見てみましょう。
上記の例だと /etc/rc.d/rc.sysinit でスワップの設定やファイルシステムのチェック、マウントしてますが少し違っていますね。
6番なしで7番からという感じです。
「マルチユーザモード(ランレベル 3)での起動」での例です。 → ここです。
3.1.3 サービス(デーモン)の自動起動・停止制御
RedHat系などのLinuxでは、各種サービス(デーモン)は、/etc/rc.d/rc によって起動されるが、システム起動時、ランレベル変更時に開始させるサービスは次のように決定されています。
ランレベルXに移行する時は、/etc/rc.d/rcX.d ディレクトリにあるスクリプトを実行する。

例.ランレベル3に移行する時は、 /etc/rc.d/rc3.d ディレクトリにあるスクリプト

そしてスクリプト形式は次のようになっている。

 S[数字][サービス名]  Ex : S55sshd     そのランレベルでサービス開始
 K[数字][サービス名]  EX : K30sendmail   そのランレベルでサービス停止
Plamoの場合は少し違うようです。

/etc/rc.dです。

/etc/rc.d/rcX.dというディレクトリはありますが、そのデイレクトリには何もありません。
そのかわり、/etc/rc.d/rc.なんたら というスクリプトがありますね。
また、RedHat系などのLinuxでは「chkconfig」という便利なコマンドがありますが、Plamoにはありません。
PlamoサイトのFAQによると・・・・・

Red Hat 系のディストリビューションで使われている chkconfig (システムサービスの設定/変更を行なうコマンド)は,Slackware 系の Plamo にはありません.

システムの起動は,/etc/rc.d/ ディレクトリに配置されている各スクリプトファイルによって行なわれます.
システムサービスの起動もこのディレクトリ内のファイルから実行されます.

新たなシステムサービスを起動したい場合は,/etc/rc.d/rc.local ファイルに,起動のスクリプトを追加するのが一番簡単な方法でしょう.

マルチユーザモード(ランレベル 3)での起動 を見ると,起動の順序や,どのファイルから何が起動されるかわかりますので, 該当するファイルを直接編集することで, 各システムサービスの設定/変更も行なうことができます.

・・・とのことです。
3.1.4 サービス手動起動・停止制御
RedHat系などのLinuxでは、サービス起動スクリプト本体は /etc/rc.d/init.d に存在し ています。/etc/rc.d/rcX.dにあるのはこれらのリンクファイルです。例えば・・・・・
状態 ファイル名称 (/etc/rc.d/rcX.d) 実際の動作
開始 S[数字][サービス名]
  Ex : S55sshd 
/etc/rc.d/init.d/サービス名 start
  Ex : /etc/rc.d/init.d/sshd start
停止 K[数字][サービス名]
  EX : K30sendmail
/etc/rc.d/init.d/サービス名 stop
  Ex : /etc/rc.d/init.d/sendmail stop
手動でサービスの起動・停止を行う場合は、/etc/rc.d/init.d にあるサービス起動スクリプト本体を実行します。
Plamoでは、これまた違ってますね。 /etc/rc.d/init.d も空のディレクトリです。
自動起動は /etc/rc.d/rc.local に、それぞれの起動スクリプト内容を追加するか、起動スクリプト本体を呼び出すように設定しますね。あくまでも、管理者が手でシコシコやるわけですね。
起動スクリプト本体もパッケージからだと付いてくるでしょうが、ソースからコンパイルなんかした時は、場合によって自分でスクリプトを書かないといけないようですね。
3.1.5 サービス一覧
ディストリビューションやインストール・パッケージの選択などによって違っているようなので、代表的なのだけ列記します。
サービス名 内容
atd 指定された時刻に指定されたコマンドを実行するデーモン
autofs ファイルシステムの自動マウント/アンマウント
canna 日本語入力システム
crond 定期的にジョブを実行するためのジョブスプーラ
dhcpd DHCPサーバー
gpm コンソール用のマウスサーバー
httpd Webサーバー
iptables Linuxのパケットフィルタリング機能を管理する
irda 赤外線通信を行う
iplog ネットワークパケットログ(TCP, UDP, ICMP)
keytable キー配列テーブル(日本語環境では必要)
ldap LDAP ディレクトリサービス
lpd プリンタサービス
mysql MySQL データベース・サーバー
named DNS サーバー
netfs /etc/fstabを参照しNFS,SMB,NCPのネットワークファイルシステムをマウントするサービス
network ブート時にネットワーク・インターフェイスを初期化
nfs UNIXマシン同士でファイル共有を行うNFS(Network File System)サーバーサービス
nfslock NFSでファイルロックを行うためのサービス
nscd ネームサービスの結果をキャッシュする。NISの稼動が前提
pcmcia PCカードのデバイスドライバーをロードするスクリプトサービス
portmap RPC接続をTCPのポートにマッピングするサービス
postgresql PostgreSQL データベース・サーバー
random カーネルの乱数生成機能に関連するデバイスファイルとエントロピープールを初期化するサービス
radiusd radius サーバー
sendmail メールサーバーデーモン
serial シリアルポートの初期化を行う。
smb Windows ファイル・サーバー(samba)
snmpd SNMP プロトコルを有効にする。
squid プロキシサーバー
sshd 通信経路を暗号化して安全なリモートログインを可能とするSSH(Secure Shell)サーバーサービス
syslog システムのログを記録
xfs Xフォントサーバ
xinetd 接続要求に応じてサーバーデーモンを起動するスーパーサーバー
xntpd 時刻同期サーバー
ypbind NISクライアント
3.1.6 サービス起動とセキュリティ
サーバーとして利用することを前提としたシステムであれば、インストール直後からセキュリティに配慮し、不必要なサービスを起動させない「Deny ALL アプローチ」を採用すべきでしょう。
これは、ディフォルトで全てのサービスを停止しておき、管理者が明示的に必要なサービスを起動しない限りサービス利用できないというものです。

システムを安全に利用していくうえで「Deny ALL アプローチ」はとても重要なことです。
不必要なサービスを起動せず、必要最低限のサービスのみを起動するように心がけましょう。

3.2 システムの停止

システムを停止するにはスーパーユーザで「 shutdown 」コマンドを利用します。
次に shutdown の色々な例を記載します。これもディトリビューションによって微妙な違いはあると思います。
コマンド 意  味 同義コマンド
shutdown -h now システムをただちに停止させる。 halt または poweroff
shutdown -h +5 システムを5分後に停止させる。  
shutdown -h 13:00 システムを 13:00 に停止させる。  
shutdown -r now システムをただちに再起動させる。 reboot
shutdown -r +5 システムを5分後に再起動させる。  
shutdown -r 13:00 システムを 13:00 に再起動させる。  
※私は、インストールや設定などの時サーバー機に行くのが面倒なので、telnetやSSHで停止したり、リブートしたりしてます。

Prev Top Next
Linuxのインストール 目次 パッケージ管理

サイトトップへ